You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ CDN import map (Three.js r0.160 via jsDelivr) plus local data, scripts, and modu
39
39
|**`scripts/fork_lineage.py` + `assets/fork-lineage.js`**| Public-only fork source sanitizer plus deterministic six-color crest projection. | Changing generated fork source truth, lineage cards, or the shared crest batch. |
40
40
|**`scholars.js`**|`window.SCHOLARS` roster: POLARIS ยท VEGA ยท RIGEL ยท MIRA ยท LYRA. | Adding / editing an NPC scholar. |
41
41
|**`assets/world-tree/createRepolisHero.js`**| Procedural World Tree factory imported by `index.html`. | Changing the tree geometry, materials, sockets, or actions. |
42
-
|**`assets/world-tree/world-tree-state.js`**| Pure projection for Chronicle, Silence Ledger, Roots, sap-flow freshness/mode, and bounded star/repo growth. | Changing how generated city state reaches the silent World Tree. |
42
+
|**`assets/world-tree/world-tree-state.js`**| Pure projection for Chronicle, Silence Ledger, Roots, sap-flow freshness/mode, bounded star/repo growth, and portable public-town residents. | Changing how owner or normalized public-town state reaches the silent World Tree and local resident roster. |
43
43
|**`assets/repo-portal.js`**| Pure username/repository parser, route precedence, public projection, canonical Portal URL, and owner-town expansion link. | Changing `?repo=`, accepted GitHub inputs, public traffic truth, or target share links. |
44
44
|**`assets/repo-route.js`**| Pure 2โ3 stop route validator, current-catalog resolver, conflict policy, and canonical Repo Route URL. | Changing visitor-curated multi-repo paths or `?route=` links. |
45
45
|**`assets/contribution-quests.js`**| Pure current-owner/catalog issue projector and bounded quest ranker. | Changing Open Source Quest validation, tier priority, or result diversity. |
@@ -49,6 +49,7 @@ CDN import map (Three.js r0.160 via jsDelivr) plus local data, scripts, and modu
49
49
|**`scripts/build_repos.py`**| Rebuilds `repos.json` and `data/city-state.json` from `data/logs/*` traffic + `gh api`. | Refreshing the city data locally. |
50
50
|**`scripts/resident_profiles.py` + `data/residents/`**| Generates sanitized public resident profiles, the boot manifest, and the Worker authority registry. Profile JSON is generated โ do not hand-edit. | Changing repository-bound resident identity or Shared/Bound inputs. |
51
51
|**`scripts/smoke.mjs`**| Hermetic static and behavioral regression guards for the city runtime. | Any client feature, navigation, or generated-module integration change. |
52
+
|**`scripts/test-portable-town.mjs`**| Deterministic fixtures for canonical, foreign, empty/archive-only, partial, missing-date, leakage, resident-cap, and zero-request portable towns. | Changing public-town projection or local resident derivation. |
52
53
|**`.github/workflows/refresh.yml`**| "Refresh Repolis data" โ daily Action that regenerates `repos.json` and pushes `chore: refresh`. | CI / data-refresh changes. |
53
54
|**`scripts/build-contribution-library.mjs` + `assets/contribution-library.json`**| Generates the in-app **Contribution Library** JSON from the sibling `Hyeonsang-AI-Contributions` README (KO/EN); `index.html` fetches it at runtime. JSON is **generated โ do not hand-edit.** Daily via `.github/workflows/update-contribution-library.yml`. | Changing the library landmark's data/source. |
@@ -172,6 +174,7 @@ Tested on Node v24. There is no linter or formatter configured โ match the sur
172
174
|---|---|
173
175
| Change how a repo becomes a building (height/size/ornaments) |`index.html` (city-build section) + score/rank in `scripts/build_repos.py`; model in [`docs/domain-model.md`](docs/domain-model.md). |
174
176
| Change Repo Portal parsing, target-first loading, cache, expansion, or privacy events |`assets/repo-portal.js` + the repo data/intro/Station/Atelier blocks in `index.html` + `scripts/smoke.mjs`; preserve one repo request before Aha, `trafficKnown:false` for public API data, 15-minute/512 KiB LRU bounds, canonical `?repo=owner/repo&ref=repo-portal`, and [`docs/repo-portal-change-guide.md`](docs/repo-portal-change-guide.md). |
177
+
| Change portable `?user=` / Repo Portal / Station World Tree or residents |`assets/world-tree/world-tree-state.js` + the post-load projection, World Tree, resident, service-boundary, and debug blocks in `index.html` + `scripts/test-portable-town.mjs`; preserve one existing public load, deterministic public-only state, 6/4 desktop/LOW_END resident caps, unknown traffic/memory, and local/solo service closure. |
175
178
| Change Repo Route selection, ordering, share links, recipient progress, or privacy events |`assets/repo-route.js` + `/*REPO_ROUTE*/` in `index.html` + the Repo Route group in `scripts/smoke.mjs`; preserve 2โ3 unique current public repos, strict ordered completion, session-only drafts, identity-free telemetry, and no new scene or network work. |
176
179
| Change Open Source Quest search, ranking, repo-house handoff, or privacy events |`assets/contribution-quests.js` + `/*CONTRIBUTION_QUESTS*/` in `index.html` + the Open Source Quests group in `scripts/smoke.mjs`; preserve explicit one-request search, current owner/catalog filtering, three-card/2-per-repo caps, in-memory results, identity-free telemetry, and Star eligibility only after issue handoff. |
177
180
| Change districts, Village Chronicle, passport, or exploration loops |`index.html` + the matching behavioral groups in `scripts/smoke.mjs`. |
@@ -198,7 +201,7 @@ Tested on Node v24. There is no linter or formatter configured โ match the sur
198
201
A daily Action turns the owner's **public repos + committed traffic logs** into `repos.json`; included public
199
202
forks may also carry a minimal canonical source record. `index.html`
200
203
turns that array into metric-shaped buildings, topic districts, routes, maps, and exploration progress.
201
-
Residents add named homes, home/work commutes, moods, friendships, haunts, Shared Joy excursions, gatherings, and festivals. The oldest eligible 20% of the bounded active roster can rarely let slip a hand-authored local lore fragment; repositories younger than 90 generated-clock days receive a lightweight construction layer and newcomer voice. Landmarks include the Contribution Library, Chronopolis, Observatory, and imported procedural World Tree. Repo Portal lets one public `owner/repo` arrive before its owner catalog, then reuses the same building and Repository Atelier with truthful public-metadata boundaries. Repo Route lets a visitor hand off an ordered 2โ3 house path they actually explored. Open Source Quests connects an explicitly loaded current public issue to its real repo house before GitHub handoff. Every repo also rebinds one reusable Atelier where its data, impact signals, current avatar, and in-room Gitber stay inside the exhibition. Town Growth Replay turns public repo creation dates into a reversible, shareable city history without inventing historical metrics. Gitber/POLARIS and the
204
+
Residents add named homes, home/work commutes, moods, friendships, haunts, Shared Joy excursions, gatherings, and festivals. Foreign `?user=` and Repo Portal towns run the same pure portable projection after their one existing public load, deriving their own era, season, Silence Ledger, Roots, and 6/4-capped local resident roster without owner traffic, memories, services, or extra requests. The oldest eligible 20% of the owner roster can rarely let slip a hand-authored local lore fragment; repositories younger than 90 reproducible-clock days receive a lightweight construction layer and newcomer voice. Landmarks include the Contribution Library, Chronopolis, Observatory, and imported procedural World Tree. Repo Portal lets one public `owner/repo` arrive before its owner catalog, then reuses the same building and Repository Atelier with truthful public-metadata boundaries. Repo Route lets a visitor hand off an ordered 2โ3 house path they actually explored. Open Source Quests connects an explicitly loaded current public issue to its real repo house before GitHub handoff. Every repo also rebinds one reusable Atelier where its data, impact signals, current avatar, and in-room Gitber stay inside the exhibition. Town Growth Replay turns public repo creation dates into a reversible, shareable city history without inventing historical metrics. Gitber/POLARIS and the
202
205
scholars (VEGA ยท MS Learn, RIGEL ยท DeepWiki, MIRA ยท Context7, LYRA ยท Hugging Face) add natural-language
203
206
navigation and grounded answers. Residents hand specialist questions to the right scholar instead of gaining
204
207
their own MCP access. Gitber remains the only all-district traveler: ride observations and Shared-state answers are local, while household memory questions return to the correct repo home. The Passport's local Town Gazette makes daily public-repo changes visible on return. Everything
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,12 +75,13 @@ Repolis turns public GitHub metadata and cumulative traffic into a place instead
75
75
| stars | roof ornaments |
76
76
| recent activity | window glow at night |
77
77
78
-
Repositories are grouped into topic districts with roads, signs, hubs, and a world map. The owner town refreshes daily from committed traffic history plus the GitHub API. `?user=<login>` builds a lighter public town, while `?repo=<owner>/<repo>` loads one project first. GitHub does not publish visitor, view, or clone traffic for those public API modes, so their buildings use stars, forks, and update recency without inventing traffic.
78
+
Repositories are grouped into topic districts with roads, signs, hubs, and a world map. The owner town refreshes daily from committed traffic history plus the GitHub API. `?user=<login>` builds a lighter public town with that user's own World Tree record and bounded local residents, while `?repo=<owner>/<repo>` loads one project first through the same projection. GitHub does not publish visitor, view, or clone traffic for those public API modes, so their buildings use stars, forks, and update recency without inventing traffic.
79
79
At ordinary walking distances, a one-draw architectural LOD keeps each repo house's textured walls and roof while preserving its plot, hedge, path, real window panes, shutters, sills, flower boxes, gutters, and tier-specific porch, balcony, or portico.
80
80
81
81
## A village that lives
82
82
83
83
-**Residents have lives, not idle loops.** Named townspeople wander their districts, keep daily rhythms, carry changing moods, visit cherished haunts, recognize friends, stroll and sit together, gather around the campfire, and sometimes celebrate a recent repository release. Their cottages form **Starlight Row** on the north-east edge, with resident-coloured gardens, three roof silhouettes, shutters, transoms, selected window boxes, canopies, chimneys, and roof finials. A shared flower bed, lanterns, hedges, and broadleaf/cypress trees care for the commons. Night brings residents home to warm windows and porch seats, while morning sends them back to their district work. Pairs also choose their own short **Shared Joy** excursions to real flower patches, visible night stars, or a real repo houseโwithout a player prompt or AI call. Ask a specialist question and they introduce the right scholar instead of pretending to know: follow the compass and find that scholar in the world.
84
+
-**A public town lives from its own record.** The one existing public-repository load deterministically supplies its era, season, Silence Ledger, archived Roots, and up to six desktop/four phone-or-LOW_END residents with local jobs, greetings, and real repo-home bindings. Traffic, owner residents, Shared/Bound memories, realtime, and grounded services stay unknown or off; no second API request or model call is made.
84
85
-**Exploration has continuity.** The Explorer Passport records houses and landmarks, district progress shows what remains, and the daily **Village Chronicle** connects one resident to their cherished haunt and a truthful related repo or district.
85
86
-**The city points outward to real work.****Open Source Quests** makes one anonymous public GitHub search only when the visitor asks, ranks up to three current `good first issue`, `help wanted`, or open issues, and leads through the actual repository house before the exact issue handoff. Results stay in the tab; no login, token, issue tracking, or new backend is involved. The existing earned Star invitation can appear only after the visitor chooses to open an issue.
86
87
-**A visitor can hand off the route that proved the town's value.** After opening a repository house, **Repo Route** can save it to an ordered 2โ3 stop walk. The recipient's link confirms the stops before entry, points to each real house in sequence, and offers the existing earned Star invitation only after completion. The draft is session-only; the URL contains public repo names and adds no backend, account, storage key, or render asset.
0 commit comments