Skip to content

Commit c401ae4

Browse files
feat: add Thirty-day Sap Ledger (#100)
1 parent 5593457 commit c401ae4

17 files changed

Lines changed: 1235 additions & 36 deletions

โ€ŽAGENTS.mdโ€Ž

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ CDN import map (Three.js r0.160 via jsDelivr) plus local data, scripts, and modu
3030
|---|---|---|
3131
| **`index.html`** | Primary app runtime โ€” 3D engine, UI, navigation, residents, exploration, i18n, day/night. | Any UI / gameplay / client behavior change. |
3232
| **`repolis.config.js`** | Fork-facing runtime identity and optional-service policy. GitHub Pages infers the fork owner; upstream Workers stay off on forks. | Changing owner inference, template behavior, or canonical endpoints. |
33-
| **`repos.json` + `data/city-state.json`** | Generated repo catalog plus deterministic era, season, statistics, sap timestamp, and archived roots for the current owner city. **Do not hand-edit.** | Never directly; regenerate (see below). |
33+
| **`repos.json` + `data/city-state.json`** | Generated repo catalog plus deterministic era, season, current statistics, Silence Ledger, bounded 30-day Sap Ledger, sap timestamp, and archived roots for the current owner city. **Do not hand-edit.** | Never directly; regenerate (see below). |
3434
| **`data/city-state.schema.json`** | Strict JSON Schema for the generated city-state artifact. | Changing the city-state contract. |
3535
| **`assets/city-time.js`** | Pure wear (`recent` / `faded` / `mossed`), ruin, reference-date, and seasonal palette rules. | Changing how public time metadata affects the city. |
3636
| **`data/lore/fragments.json` + `assets/lore-fragments.js`** | Hand-authored KO/EN elder fragments plus strict validation, deterministic active-roster allocation, and session-bounded delivery. | Changing The Silence fragments or their rarity/allocation contract. Never generate or overwrite the JSON. |
@@ -39,7 +39,7 @@ CDN import map (Three.js r0.160 via jsDelivr) plus local data, scripts, and modu
3939
| **`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. |
4040
| **`scholars.js`** | `window.SCHOLARS` roster: POLARIS ยท VEGA ยท RIGEL ยท MIRA ยท LYRA. | Adding / editing an NPC scholar. |
4141
| **`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, 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. |
42+
| **`assets/world-tree/world-tree-state.js`** | Pure projection for Chronicle, Silence Ledger, 30-day Sap 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. |
4343
| **`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. |
4444
| **`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. |
4545
| **`assets/contribution-quests.js`** | Pure current-owner/catalog issue projector and bounded quest ranker. | Changing Open Source Quest validation, tier priority, or result diversity. |
@@ -184,6 +184,7 @@ Tested on Node v24. There is no linter or formatter configured โ€” match the sur
184184
| Change Town Growth Replay years, camera, reveal, share links, or era postcards | `assets/town-growth.js` + `/*TOWN_GROWTH_REPLAY*/` in `index.html` + the Growth Replay group in `scripts/smoke.mjs`; creation dates are historical, building metrics are current, and replay must restore camera/fog/sky/LOD exactly. |
185185
| Change Repository Atelier room, avatar, data walls, or action terminals | `/*REPOSITORY_ATELIER*/` in `index.html` + the Atelier group in `scripts/smoke.mjs`; preserve one lazy reusable room, three bounded canvas atlases, exact exterior restore, zero exterior renders inside, in-room Ask/Why ownership, and explicit-only exit/GitHub navigation. |
186186
| Change adaptive frame thresholds or visual tiers | `/*VISUAL_GOVERNOR_CORE*/` + `/*VISUAL_GOVERNOR_RUNTIME*/` in `index.html`, `scripts/test-visual-governor.mjs`, and the matching smoke group; preserve 6 s eligible warm-up, separated hysteresis/dwell, balanced-before-lean ambient ordering, LOW_END/reduced-motion authority, state continuity, and zero storage/network/telemetry. |
187+
| Change the 30-day Sap Ledger fields, retention, or Chronicle summary | `scripts/city_state.py` + `data/city-state.schema.json` + `assets/world-tree/world-tree-state.js` + `/*WORLD_TREE_CHRONICLE*/` in `index.html`; preserve actual UTC entries only, same-day replacement, 30-entry/32 KiB caps, public aggregate privacy, and unavailable foreign history. |
187188
| Change Twin Towns matching or two-person share links | `assets/twin-towns.js` + the Twin Towns block in `index.html` + `scripts/smoke.mjs`. |
188189
| Change Town Gazette / return-visit freshness | `/*FRESHNESS*/` + Passport render/start flow in `index.html`; keep snapshots local, bounded, per-town, and explicit-read only. |
189190
| Change resident homes, styles, gardens, routines, moods, friendships, haunts, or Shared Joy | The resident social layer + Starlight Row blocks in `index.html`; preserve the resident style map, 3 roof batches, 10/6 desktop/LOW_END detail-batch cap, 42-unit reserve, entrance gap, quarter colliders, home/work truth, owned porch seats, and social ownership guards. |
@@ -204,7 +205,7 @@ Tested on Node v24. There is no linter or formatter configured โ€” match the sur
204205
A daily Action turns the owner's **public repos + committed traffic logs** into `repos.json`; included public
205206
forks may also carry a minimal canonical source record. `index.html`
206207
turns that array into metric-shaped buildings, topic districts, routes, maps, and exploration progress.
207-
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
208+
Residents add named homes, home/work commutes, moods, friendships, haunts, Shared Joy excursions, gatherings, and festivals. The owner World Tree retains at most 30 actual UTC daily public aggregate entries in its Sap Ledger; same-day refreshes replace, missing days stay missing, and no browser or traffic data enters it. 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 history, 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
208209
scholars (VEGA ยท MS Learn, RIGEL ยท DeepWiki, MIRA ยท Context7, LYRA ยท Hugging Face) add natural-language
209210
navigation and grounded answers. Residents hand specialist questions to the right scholar instead of gaining
210211
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

โ€ŽCHANGELOG.mdโ€Ž

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ The format loosely follows [Keep a Changelog](https://keepachangelog.com/); date
66
This file keeps the current product era (`1.50.0` onward) easy to scan. Earlier releases are preserved in
77
[`docs/changelog-archive.md`](docs/changelog-archive.md).
88

9+
## [1.94.0] โ€” 2026-08-26
10+
11+
### ๐ŸŒฑ Thirty-day Sap Ledger โ€” bounded aggregate city history
12+
13+
- Generated city state now carries `repolis.sap-ledger` v1: up to 30 unique, ascending UTC daily owner-town
14+
entries and 32 KiB compact UTF-8. Same-day reruns replace, later runs append, missing dates remain absent,
15+
and the generator refuses fabricated backfill behind the latest actual entry.
16+
- Each entry stores only public city aggregates: repository/archive counts, covered star/fork totals,
17+
inclusive latest-public-push activity over 30 days, season, and same-date Silence Ledger counts. Missing
18+
star/fork inputs produce `null` totals; traffic, private infrastructure, work titles, messages, dialogue,
19+
identity, and browser state are excluded.
20+
- The existing World Tree Chronicle adds one compact KO/EN summary. One entry reports only its start date;
21+
later entries compare the latest two actual dates and state overall gaps. Foreign public towns explicitly
22+
report history unavailable and never reuse the canonical owner ledger.
23+
- The generated payload remains the only cold-load source: no runtime request, backend, Worker, analytics,
24+
storage, model call, dependency, build step, scene object, or visual asset was added.
25+
926
## [1.93.0] โ€” 2026-08-26
1027

1128
### ๐ŸŽ›๏ธ Adaptive Visual Governor โ€” preserve detail within the frame budget

โ€ŽREADME.ko.mdโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ Repolis๋Š” ๊ณต๊ฐœ GitHub ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๋ˆ„์  ํŠธ๋ž˜ํ”ฝ์„ ๋˜ ํ•˜๋‚˜์˜
8282

8383
- **์ฃผ๋ฏผ์€ ์ œ์ž๋ฆฌ ๋ฐ˜๋ณต ๋™์ž‘๋งŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.** ์ด๋ฆ„ ์žˆ๋Š” ์ฃผ๋ฏผ๋“ค์ด ์ž๊ธฐ ๊ตฌ์—ญ์„ ๊ฑฐ๋‹๊ณ , ์‹œ๊ฐ„๋Œ€์— ๋งž์ถฐ ์ƒํ™œํ•˜๋ฉฐ, ๊ธฐ๋ถ„์ด ๋ฐ”๋€Œ๊ณ , ์•„๋ผ๋Š” ์•„์ง€ํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ถ๋™์ชฝ **๋ณ„๋น› ์ฃผ๊ฑฐ๊ตฌ์—ญ**์—๋Š” ์ด๋ฆ„ํ‘œ๊ฐ€ ๋‹ฌ๋ฆฐ ์ง‘๊ณผ ์ฃผ๋ฏผ์ƒ‰ ์•ž๋งˆ๋‹น์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง‘๋งˆ๋‹ค 3์ข… ์ง€๋ถ• ์‹ค๋ฃจ์—ฃ, ์…”ํ„ฐ, ํŠธ๋žœ์„ฌ ์ฐฝ, ์„ ํƒํ˜• ์ฐฝ๊ฐ€ ํ™”๋ถ„ยท์บ๋…ธํ”ผยท๊ตด๋šยท์ง€๋ถ• ์žฅ์‹์ด ๋‹ค๋ฅด๊ฒŒ ์กฐํ•ฉ๋˜๊ณ , ๊ณต๋™ ๊ฝƒ์ •์›ยท๋žœํ„ดยท์ƒ์šธํƒ€๋ฆฌยทํ™œ์—ฝ์ˆ˜ยท์‚ฌ์ดํ”„๋Ÿฌ์Šค๊ฐ€ ๋งˆ์„์„ ๊ฐ์Œ‰๋‹ˆ๋‹ค. ๋ฐค์ด๋ฉด ๋”ฐ๋œปํ•œ ์ฐฝ๊ณผ ํ˜„๊ด€์œผ๋กœ ๊ท€๊ฐ€ํ•˜๊ณ , ์•„์นจ์ด๋ฉด ๊ฐ์ž ๊ตฌ์—ญ์œผ๋กœ ์ถœ๊ทผํ•ฉ๋‹ˆ๋‹ค. ์นœ๊ตฌ๋ฅผ ์•Œ์•„๋ณด๊ณ  ํ•จ๊ป˜ ์‚ฐ์ฑ…ํ•˜๊ฑฐ๋‚˜ ๋‚˜๋ž€ํžˆ ์‰ฌ๋ฉฐ, ๋ชจ๋‹ฅ๋ถˆ์— ๋ชจ์ด๊ณ , ๋•Œ๋กœ๋Š” ์ƒˆ ๋ฆด๋ฆฌ์Šค ์ถ•์ œ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ๋‘ ์ฃผ๋ฏผ์€ ํ”Œ๋ ˆ์ด์–ด ์ง€์‹œ๋‚˜ AI ํ˜ธ์ถœ ์—†์ด ์‹ค์ œ ๊ฝƒ๋ฐญยท๋ณ„์ด ๋ณด์ด๋Š” ๋ฐคํ•˜๋Š˜ยท์‹ค์ œ ๋ ˆํฌ ์ง‘์œผ๋กœ ์งง์€ **ํ•จ๊ป˜ํ•˜๋Š” ๊ธฐ์จ** ๋‚˜๋“ค์ด๋„ ์Šค์Šค๋กœ ๋– ๋‚ฉ๋‹ˆ๋‹ค. ์ „๋ฌธ ์งˆ๋ฌธ์„ ๋ฐ›์œผ๋ฉด ์•„๋Š” ์ฒ™ํ•˜์ง€ ์•Š๊ณ  ๋งž๋Š” ํ˜„์ž๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์นจ๋ฐ˜์„ ๋”ฐ๋ผ ๋งˆ์„ ์•ˆ์—์„œ ๊ทธ ํ˜„์ž๋ฅผ ์ง์ ‘ ์ฐพ์•„๊ฐ€์„ธ์š”.
8484
- **๊ณต๊ฐœ ๋งˆ์„๋„ ์ž๊ธฐ ๊ธฐ๋ก์œผ๋กœ ์‚ด์•„๊ฐ‘๋‹ˆ๋‹ค.** ๊ธฐ์กด ๊ณต๊ฐœ ๋ ˆํฌ ์š”์ฒญ ํ•œ ๋ฒˆ์œผ๋กœ ๋„์‹œ๋ ฅยท๊ณ„์ ˆยท๊ณ ์š” ์žฅ๋ถ€ยท์•„์นด์ด๋ธŒ๋œ The Roots์™€ ๋ฐ์Šคํฌํ†ฑ ์ตœ๋Œ€ 6๋ช…/ํœด๋Œ€ํฐยทLOW_END ์ตœ๋Œ€ 4๋ช…์˜ ์ฃผ๋ฏผ์„ ๊ฒฐ์ •์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ฃผ๋ฏผ์˜ ์ผยท์ธ์‚ฌยท์‹ค์ œ ๋ ˆํฌ ์ง‘ ์—ฐ๊ฒฐ์€ ๊ณต๊ฐœ ํ•„๋“œ๋งŒ ์“ฐ๋ฉฐ, ํŠธ๋ž˜ํ”ฝยท์ฃผ์ธ ์ฃผ๋ฏผยทShared/Bound ๊ธฐ์–ต์€ ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’์œผ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์—ฐ๊ฒฐ๊ณผ ๊ทผ๊ฑฐ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค๋„ ๊บผ์ ธ ์žˆ์–ด ๋‘ ๋ฒˆ์งธ API ์š”์ฒญ์ด๋‚˜ ๋ชจ๋ธ ํ˜ธ์ถœ์ด ์—†์Šต๋‹ˆ๋‹ค.
85+
- **์ฃผ์ธ ๋งˆ์„์˜ ์„ธ๊ณ„์ˆ˜๋Š” ์ž‘๊ณ  ์‚ฌ์‹ค์ ์ธ ์ด๋ ฅ์„ ๋‚จ๊น๋‹ˆ๋‹ค.** **30์ผ ์ˆ˜์•ก ์žฅ๋ถ€**์—๋Š” ๊ณต๊ฐœ ๋ ˆํฌยท์Šคํƒ€ยทํฌํฌยท์ตœ๊ทผ ํ™œ๋™ยท๊ณ„์ ˆยท๊ณ ์š” ์ง‘๊ณ„์˜ ์‹ค์ œ UTC ์ผ๋ณ„ ๊ธฐ๋ก๋งŒ ์ตœ๋Œ€ 30๊ฐœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ๋‚  ์žฌ์‹คํ–‰ํ•˜๋ฉด ์ค‘๋ณต ๋Œ€์‹  ๊ต์ฒดํ•˜๊ณ , ๋ˆ„๋ฝ ๋‚ ์งœ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๋ฉฐ, ๋‹ค๋ฅธ ๊ณต๊ฐœ ๋งˆ์„์—๋Š” ์ฃผ์ธ ์žฅ๋ถ€๋ฅผ ๋„˜๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
8586
- **ํƒํ—˜์—๋Š” ํ๋ฆ„์ด ๋‚จ์Šต๋‹ˆ๋‹ค.** ํƒํ—˜ ์—ฌ๊ถŒ์ด ์ง‘๊ณผ ๋ช…์†Œ ๋ฐฉ๋ฌธ์„ ๊ธฐ๋กํ•˜๊ณ , ๊ตฌ์—ญ ์ง„ํ–‰๋ฅ ์ด ๋‚จ์€ ๊ณณ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ๋งค์ผ ์—ด๋ฆฌ๋Š” **๋งˆ์„ ์ด์•ผ๊ธฐ**๊ฐ€ ํ•œ ์ฃผ๋ฏผ๊ณผ ๊ทธ ์•„์ง€ํŠธ, ์‹ค์ œ๋กœ ์ด์–ด์ง„ ๋ ˆํฌ ๋˜๋Š” ๊ตฌ์—ญ์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
8687
- **๋„์‹œ๋Š” ์‹ค์ œ ๊ธฐ์—ฌ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.** **์˜คํ”ˆ์†Œ์Šค ํ€˜์ŠคํŠธ**๋Š” ๋ฐฉ๋ฌธ์ž๊ฐ€ ์ง์ ‘ ์š”์ฒญํ•  ๋•Œ๋งŒ ์ต๋ช… GitHub ๊ณต๊ฐœ ๊ฒ€์ƒ‰์„ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•ด ํ˜„์žฌ `good first issue`, `help wanted`, ์ผ๋ฐ˜ ์—ด๋ฆฐ ์ด์Šˆ ์ค‘ ์ตœ๋Œ€ ์„ธ ๊ฐœ๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค. ์‹ค์ œ ๋ ˆํฌ ์ง‘์„ ๊ฑฐ์นœ ๋’ค ์ •ํ™•ํ•œ ์ด์Šˆ๋กœ ์—ฐ๊ฒฐํ•˜๋ฉฐ, ๊ฒฐ๊ณผ๋Š” ํƒญ์—๋งŒ ๋‚จ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธยทํ† ํฐยท์ด์Šˆ ์ถ”์ ยท์ƒˆ ๋ฐฑ์—”๋“œ๋Š” ์—†๊ณ , ๊ธฐ์กด Star ์ดˆ๋Œ€๋Š” ๋ฐฉ๋ฌธ์ž๊ฐ€ ์ด์Šˆ ์—ด๊ธฐ๋ฅผ ์„ ํƒํ•œ ๋’ค์—๋งŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
8788
- **๋ฐฉ๋ฌธ์ž๊ฐ€ ๋„์‹œ์˜ ๊ฐ€์น˜๋ฅผ ์ฆ๋ช…ํ•œ ๋™์„ ์„ ๊ทธ๋Œ€๋กœ ๊ฑด๋„ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** ๋ ˆํฌ ์ง‘์„ ์—ฐ ๋’ค **Repo Route**์— 2~3๊ณณ์„ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์œผ๋ฉด, ์ˆ˜์‹  ๋งํฌ๊ฐ€ ์ž…์žฅ ์ „์— ์ •๋ฅ˜์žฅ์„ ํ™•์ธํ•ด ์ฃผ๊ณ  ์‹ค์ œ ์ง‘์„ ์ฐจ๋ก€๋กœ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ๊ธฐ์กด Star ์ดˆ๋Œ€๋Š” ์ด ๊ธธ์„ ์™„์ฃผํ•œ ๋’ค์—๋งŒ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ดˆ์•ˆ์€ ์„ธ์…˜์—๋งŒ ์žˆ๊ณ  URL์—๋Š” ๊ณต๊ฐœ ๋ ˆํฌ ์ด๋ฆ„๋งŒ ๋“ค์–ด๊ฐ€๋ฉฐ, ๋ฐฑ์—”๋“œยท๊ณ„์ •ยท์ €์žฅ ํ‚คยท๋ Œ๋” ์ž์‚ฐ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ€ŽREADME.mdโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ At ordinary walking distances, a one-draw architectural LOD keeps each repo hous
8282

8383
- **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.
8484
- **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.
85+
- **The owner World Tree keeps a small factual history.** Its **Thirty-day Sap Ledger** retains up to 30 actual UTC daily entries of public repo, star, fork, recent-activity, season, and Silence aggregates. Same-day refreshes replace instead of duplicate, missing days stay missing, and foreign towns explicitly receive no owner ledger.
8586
- **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.
8687
- **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.
8788
- **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

Comments
ย (0)