Repository navigation
feat(quests): teach the Incuna apartment flow - #111
Merged
Merged
Conversation
zoeyrose
marked this pull request as ready for review
August 11, 2026 10:48
8 tasks done
…ment-main # Conflicts: # prototypes/authored-syntax-v1/baseline-lock.json # schemas/authored-content-v1/FIELDS.md # schemas/authored-content-v1/editor-properties.json # schemas/authored-content-v1/field-ids.h # schemas/authored-content-v1/field-metadata.json # tools/tests/test_content_catalog.py
zoeyrose
added a commit
that referenced
this pull request
Aug 11, 2026
## Summary - deliver an Incuna-specific starter property on Classic `1.x` instead of granting access to Strakewood apartments - add a 24×24 beach nook with a deliberately tiny 12-tile living area, one chest, coastal dressing, and a two-part hammock that teaches and acts as the save bed - grant the sole Incuna tier exactly once, preserve its entitlement and stored contents, gate the portal by ownership, and advance the tutorial only after using the hammock - preserve the apartment runtime collection changes and the exact binding, owner-gating, idempotency, persistence, map-reload, compatibility, and hammock-vocabulary tests - add two newly generated authored gameplay images, `hammock_a.101.png` and `hammock_b.101.png`, with explicit Zoey Rose / GPLv2 attribution and an OpenAI image-generation provenance note on each entry in the adjacent `LICENSE` Linked issue: #105. Canonical main PR: #111. ## Authored media and semantic lighting policy The hammock PNGs are intentional source assets used by gameplay, not generated lighting evidence. Their adjacent license enumerates both files directly. The semantic-only policy from #126 and merged PR #127 removes lighting contact sheets, their manifest, the proof scene, and capture-only tooling; it does not remove or prohibit authored gameplay art. This reconciliation keeps the apartment's schema-v5 semantic map digest but performs no light-source PNG or manifest refresh. No light-source evidence or capture-only path is tracked by this head. ## Coordinates - base: `1.x@b342d56` - head: `d67ffd281030b9b7a8bc4c9ea3002b5e4592a11c` - branch: `feat/105-incuna-apartment-1x` - worktree: `/workspaces/atrinik/workspace/worktrees/content-1x/issue-105-apartment-1x` ## Validation - `python3 arch/license_check.py --text-only --directory=arch/outdoor/hammock` — 2 licensed, 0 unlicensed; no invalid file/directory entry - `python3 tools/world_content_audit.py lights --check` — 97 archetypes, 4 artifacts, 11,393 instances across 625 maps; 5,579 explicit colors, 5,915 intentional neutral, zero unreviewed - `python3 tools/validate.py` — 128 tests passed; lossless core validated 1,355 archetypes and 3,651 maps; schema, catalog, contracts, syntax prototypes, resource collection, and both release archives passed - content catalog — 8,105 definitions and 68,595 references - `git ls-tree -r --name-only HEAD -- maps/light-source-evidence tools/light-source-review tools/light_review_evidence.py tools/tests/test_light_review_evidence.py` — no paths - `git diff --check` ## Manual verification handoff Use only the dedicated `issue-105-apartments` profile with a fresh scenario and unique topology/port. Play through Sam's Incuna handoff, speak to Elara, claim and enter the beach nook, store an item in its sole chest, use the hammock, exit/re-enter, and relog. Confirm the priest objective, entitlement, return point, and stored item persist; repeat steward and portal interactions to confirm the grant remains idempotent and does not unlock another region's housing. Stop the exact topology with `./atrinik down NAME` before resetting its scenario. No cleanup apply is required.
|
🎉 This PR is included in version 2.3.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This was referenced Aug 11, 2026
zoeyrose
added a commit
that referenced
this pull request
Aug 11, 2026
## Summary - update the Classic `1.x` grammar-contract documentation from the stale pre-apartment count of 283 to the current authoritative count of 285 - add a regression test that parses the documented claim and compares it to `object_grammar.known_fields` - keep the grammar inventory, schema, authored content, gameplay, and generated output unchanged Linked issue: #135. The canonical `main` companion will carry the sole closing keyword after this maintenance PR merges. ## Release-line reconciliation At the pre-apartment snapshots, both release lines contained 283 known object fields. #111/#112 added the shared `npc_id` and `property_id` fields, making both current inventories byte-identical at 285 entries. The current `1.x` documentation still reports 283; `main` reports 282. This PR corrects and protects `1.x` first. ## Coordinates - base: `1.x@ca2ed0f` - head: `2e989fa9d6e11de7bc329e0e0e78ef312c6f2fcc` - branch: `fix/135-grammar-field-count-1x` - changed paths: `docs/CONTENT_GRAMMAR_CONTRACTS.md`, `tools/tests/test_content_contracts.py` ## Validation - focused documentation invariant test — passed - `python3 tools/validate.py` — 129 tests passed; 3,561 canonical archetypes complete - `git diff --check` - `git ls-files 'maps/light-source-evidence/*'` — empty - exact remote comparison — one commit and both remote blobs identical to the locally validated files ## Review One complete leaf review confirmed the prose claim is derived from the authoritative list length, the diff is limited to two paths, the inventory remains unchanged at 285 entries, and no retired evidence or generated output is introduced. No actionable findings remain.
10 tasks
zoeyrose
added a commit
that referenced
this pull request
Aug 23, 2026
## Summary - make the Lost Memories apartment lesson regional: Incuna grants its own tiny beach nook instead of reusing Strakewood housing - add a 24×24 ocean-and-sand map with a deliberately small 12-tile living area, one chest, and a two-part hammock that teaches and acts as the save bed - author stable NPC, property, action, map-object, and schema identities for Elara Harth, the Incuna portal, and the new property - keep Strakewood and Eld Woods ownership independent and validate exact steward/portal bindings, entry/return coordinates, and the owner gate - add two newly generated authored gameplay images, `hammock_a.101.png` and `hammock_b.101.png`, with explicit Zoey Rose / GPLv2 attribution and an OpenAI image-generation provenance note on each entry in the adjacent `LICENSE` Closes #105. ## Authored media and diagnostic imagery The hammock PNGs are intentional source assets used by gameplay. They are not lighting screenshots, contact sheets, or other generated review output. Their adjacent license enumerates both files directly. The repository's semantic-only lighting-review policy therefore does not remove or prohibit these authored assets. No light-source evidence PNG, capture manifest, proof scene, or capture-only tool is tracked by this head. ## Release-line relationship The independently validated Classic companion is #112. It links this canonical `main` PR without taking ownership of issue completion. ## Runtime boundary Replacement-stack ownership/grant execution remains deferred to `atrinik/server#53` and `atrinik/protocol#9`. This PR keeps `main` on the typed property-service boundary and fails closed if that action is unavailable; Classic is not substituted as replacement runtime verification. ## Coordinates - base: `main@d14d678` - head: `7a8f2cf4b97c0bc200a066d611f2ef8f660018ee` - branch: `feat/105-incuna-apartment-main` ## Validation - `python3 arch/license_check.py --text-only --directory=arch/outdoor/hammock` — 2 licensed, 0 unlicensed; no invalid file/directory entry - `python3 tools/validate.py` — 128 tests passed; lossless core validated 1,355 archetypes and 3,651 maps; schema, catalog, contracts, syntax prototypes, resource collection, provenance/release gates, and isolated archives passed - light review — 97 archetypes, 4 artifacts, 11,393 instances across 625 maps; 5,558 explicit colors, 5,936 intentional neutral, zero unreviewed - content catalog — 8,105 definitions and 68,597 references - `git ls-tree -r --name-only HEAD -- maps/light-source-evidence tools/light-source-review tools/light_review_evidence.py tools/tests/test_light_review_evidence.py` — no paths - `git diff --check`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hammock_a.101.pngandhammock_b.101.png, with explicit Zoey Rose / GPLv2 attribution and an OpenAI image-generation provenance note on each entry in the adjacentLICENSECloses #105.
Authored media and diagnostic imagery
The hammock PNGs are intentional source assets used by gameplay. They are not lighting screenshots, contact sheets, or other generated review output. Their adjacent license enumerates both files directly. The repository's semantic-only lighting-review policy therefore does not remove or prohibit these authored assets.
No light-source evidence PNG, capture manifest, proof scene, or capture-only tool is tracked by this head.
Release-line relationship
The independently validated Classic companion is #112. It links this canonical
mainPR without taking ownership of issue completion.Runtime boundary
Replacement-stack ownership/grant execution remains deferred to
atrinik/server#53andatrinik/protocol#9. This PR keepsmainon the typed property-service boundary and fails closed if that action is unavailable; Classic is not substituted as replacement runtime verification.Coordinates
main@fde585e2dce52915704fa49608c07e8889f77bf52b6c1181969b540bd0fedf4067661dcc33fe5531feat/105-incuna-apartment-mainValidation
python3 arch/license_check.py --text-only --directory=arch/outdoor/hammock— 2 licensed, 0 unlicensed; no invalid file/directory entrypython3 tools/validate.py— 128 tests passed; lossless core validated 1,355 archetypes and 3,651 maps; schema, catalog, contracts, syntax prototypes, resource collection, provenance/release gates, and isolated archives passedgit ls-tree -r --name-only HEAD -- maps/light-source-evidence tools/light-source-review tools/light_review_evidence.py tools/tests/test_light_review_evidence.py— no pathsgit diff --check