17 KiB
🪴 POM 2 Wiki Recovery Backlog
1. 🚨 Release-truth emergency
Purpose: stop shipping claims that outrun the current package, dependency state, and verification evidence.
- 1.1 Repair packaged runtime contents before any wiki/publication claim.
- 1.1.1 Add
prompts/topackage.json:21-35filesbecausesrc/prompts.ts:23,43-49loads bundled prompt fragments at runtime andREADME.md:9-13advertises 13 prompt fragments; completion:npm pack --dry-runlists all 13prompts/*.mdand a tarball install can resolve../prompts. - 1.1.2 Regenerate
RELEASE.jsononly after the package file allowlist is corrected; completion:npm run release:manifestincludes prompt files insourceInventoryandnpm run release:checkpasses against the generated bytes.
- 1.1.1 Add
- 1.2 Replace hard-coded release PASS mythology with evidence-backed release status.
- 1.2.1 Rewrite
scripts/release-manifest.mjs:31-67soverificationand audit strings are generated from recorded current gate outputs or markedNOT RUN/BLOCKED, not literal PASS values; completion: changing gate evidence changes renderedRELEASE.jsonwithout hand edits. - 1.2.2 Remove or update stale 2026-07-12 audit language in
scripts/release-manifest.mjs:63-64andRELEASE.json:33-34; completion: release manifest states the exact audit command/date/result actually rerun, or explicitly says audit is not current. - 1.2.3 Add a release-evidence note to the future wiki explaining that
AGENTS.mdwas rehashed inRELEASE.json:45-49but green gates were not rerun afterward; completion: wiki release page distinguishes manifest freshness from full verification truth.
- 1.2.1 Rewrite
- 1.3 Make the dependency-install blocker first-class instead of hiding it behind failed full verify.
- 1.3.1 Document the current blocker: internal npm Artifactory timed out twice, leaving full verify blocked by missing
@oh-my-pi/*SDK packages, Node types,yauzltypes/deps, and theme schema expected byscripts/verify.mjs:66; completion: release/readiness page lists the exact missing dependency families and retries attempted. - 1.3.2 Keep the partial green evidence scoped precisely:
npm run smoke,npm run release:check, and the state test pass, while full gate is not green; completion: no page or manifest saysnpm run verifypassed untilnpm installsucceeds and the full command is rerun. - 1.3.3 Add a recovery task for maintainers with a working registry: rerun
npm install, thennpm run verify, then regenerate/recheck release evidence; completion: captured command outputs are linked from the wiki readiness page.
- 1.3.1 Document the current blocker: internal npm Artifactory timed out twice, leaving full verify blocked by missing
2. 📜 Canonical SSOT contracts
Purpose: align all docs and wiki pages to source-owned contracts, with source/runtime outranking older docs.
- 2.1 Declare source ownership for generated project layout.
- 2.1.1 Treat
src/persistence.ts:226-239as canonical for generated directories:06_ledgersand07_exports; completion: wiki SSOT page cites this range as owner and no page presents06_exportsas the active exports directory. - 2.1.2 Fix
docs/INVENTORY.md:34-43, which currently lists stale06_exports; completion: inventory has06_ledgersfor decisions/validation ledgers and07_exportsfor checkpoint/final archives. - 2.1.3 Fix
skills/pom/references/artifacts.md:3-11, which currently lists stale06_logs; completion: skills reference matches06_ledgers/07_exportsand defers tosrc/persistence.tsfor future layout truth.
- 2.1.1 Treat
- 2.2 Correct prompt precedence and override wording everywhere.
- 2.2.1 Rewrite
POM.yml:87-97prompt precedence to matchsrc/prompts.ts:83-117: immutable law is prepended first,personality-${state.mode}follows, requested bundled/project fragments are composed with project fragments replacing bundled by id, and executable stage contract is appended last byrenderStagePrompt; completion: wording no longer implies arbitrary project-local override order after the contract. - 2.2.2 Add a wiki prompt-contract page that cites
src/prompts.ts:23,43-49,83-117and defines replacement-by-id; completion: agents can answer “which prompt wins?” without reading README/POM.yml.
- 2.2.1 Rewrite
- 2.3 Correct command-surface truth.
- 2.3.1 Update
README.md:58-77andPOM.yml:38-54to include implemented/pom status [--json]and/pom help, matchingsrc/command.ts:23-40,132-145,224-225; completion: command map contains every verb registered insrc/command.tsand no unimplemented verb is advertised. - 2.3.2 Add wiki command page ownership: command implementation lives in
src/command.ts, parser behavior insrc/parser.ts, human manifest inPOM.yml; completion: docs duplicate command summaries only by linking to this owner page.
- 2.3.1 Update
- 2.4 Correct validation ownership.
- 2.4.1 Rewrite
docs/TOOL_MATRIX.md:5-13so standalone validation belongs topom_validateandpom_stage action=passis validation-gated, not a generic validation tool; completion: matrix matchessrc/tools.ts:93-164,203-221. - 2.4.2 Add wiki gate page:
pom_validateemits scoped reports,pom_stage passruns the stage/delivery scope and callspassStageonly after a passing report; completion: page citessrc/tools.ts:138-148andsrc/state.tspass invariants.
- 2.4.1 Rewrite
- 2.5 Fix stale contributor-guide discrepancy claims before copying them into the wiki.
- 2.5.1 Correct
AGENTS.md:158-162:stopGuardanddestructiveProjectCommandsdo have consumers insrc/events.ts:87-93,186-203, so do not preserve the old “no runtime consumer exists” claim; completion: known-discrepancies page says these settings are wired and cites bothsrc/config.ts:45-53andsrc/events.tsconsumers. - 2.5.2 Correct the test-count wording: there are 8 test files in
tests/*.test.tsbut nine test declarations/behavioral tests are asserted byscripts/verify.mjs:29-31; completion: docs distinguish file count from test declaration/manifest count without calling it inconsistent.
- 2.5.1 Correct
3. 🗺️ Wiki information architecture and content ownership
Purpose: create a navigable wiki/SSOT instead of scattered README/docs/skills fragments with no publication skeleton.
- 3.1 Create the repository wiki entrypoints and navigation scaffold.
- 3.1.1 Add
docs/index.mdas the human landing page that links the existing docs:ARCHITECTURE.md,SETTINGS.md,TOOL_MATRIX.md,INVENTORY.md,AUDIT.md,DESIGN_REVIEW.md,OFFICIAL_SOURCES.md, andPOM_ARCHITECTURE.mmd; completion: README can link one docs index instead of leaving only three docs discoverable atREADME.md:115-119. - 3.1.2 Add a sidebar/navigation file appropriate for the chosen wiki generator and list source-truth pages before narrative/audit pages; completion: every existing doc is reachable from the sidebar in one click.
- 3.1.3 Add minimal Quartz 5 configuration/content-vault structure only after deciding whether the repo wiki lives in
docs/or a separate content vault; completion: local preview can render the docs index and all internal links without pretending a live wiki exists.
- 3.1.1 Add
- 3.2 Assign ownership so duplicate facts stop drifting.
- 3.2.1 Create a wiki ownership table: runtime contracts owned by
src/*, package/release truth bypackage.json+scripts/release-manifest.mjs+ command evidence, operator flows by README, deep reference by docs, agent-facing quick refs byskills/pom/references/*; completion: each duplicated fact has a named owner and “mirrors must cite owner” rule. - 3.2.2 Consolidate docs/skills duplication for layout, command map, validation scopes, resource counts, and prompt order; completion: each mirror page cites its source owner and contains no independent stale variants.
- 3.2.3 Add a “source beats docs” note to wiki landing/readiness pages; completion: future agents know to verify against code before editing narrative docs.
- 3.2.1 Create a wiki ownership table: runtime contracts owned by
- 3.3 Define repository-wiki versus generated-project-vault boundaries.
- 3.3.1 Document that repo docs describe the extension, while generated project vault files are created by
src/persistence.tsunder projectcontent/; completion: README’scontent/tree cannot be mistaken for this repository’s missing live wiki. - 3.3.2 Add a wiki page for generated vault shape based on
README.md:80-98andsrc/persistence.ts; completion: generated-project docs and repository wiki scaffolding are separate navigation branches.
- 3.3.1 Document that repo docs describe the extension, while generated project vault files are created by
4. 🧭 Operator onboarding and package metadata
Purpose: make a new maintainer/operator able to acquire, install, verify, and report on POM without hidden assumptions.
- 4.1 Add repository acquisition and install-path clarity to README/wiki.
- 4.1.1 Expand
README.md:22-42with repository acquisition flow: clone/download source,npm install, source-tree verification,npm run link, restart OMP or/reload-plugins,/pom theme install, andnpm run doctor; completion: an operator starting from no checkout can reach a linked plugin. - 4.1.2 Distinguish source checkout install from published package install, including the current package defect where published installs would miss
prompts/untilpackage.json:21-35is repaired; completion: no instructions imply npm-published install is safe before package allowlist verification. - 4.1.3 Add SDK/engine compatibility to README/wiki: peer packages
@oh-my-pi/pi-coding-agent,@oh-my-pi/pi-tui,@oh-my-pi/pi-utilsare>=16.4.6 <17(package.json:42-45), Bun host is>=1.3.14(package.json:57-58), Node/npm are needed for local scripts; completion: compatibility is visible before install commands.
- 4.1.1 Expand
- 4.2 Add package metadata required for trustworthy distribution.
- 4.2.1 Add
repository,homepage, andbugsfields topackage.json, or explicitly block on the authoritative public URLs if unknown; completion: npm package metadata points operators to source, docs/wiki, and issue reporting without guesswork. - 4.2.2 After metadata changes, regenerate
RELEASE.jsonvianpm run release:manifest; completion: metadata changes are included insourceInventoryandnpm run release:checkpasses.
- 4.2.1 Add
- 4.3 Write a blocked-prerequisites lane for maintainers when external services fail.
- 4.3.1 Add docs guidance for registry outages: do not vendor/stub OMP SDK or theme schema; retry/repair registry, then run full gate; completion: dependency failure is recorded as external blocker, not hidden by partial tests.
- 4.3.2 Add a short “what can be verified offline” section: source reads, release manifest check, state test, and smoke may pass, but
scripts/verify.mjstheme schema and fullnpm run verifyrequire installed deps; completion: partial verification labels are exact.
5. 🧪 Verification automation and mutation checks
Purpose: make the wiki cleanup self-defending so stale docs and fake release claims fail visibly.
Note: check-docs.mjs now runs 7 checks — package-metadata (canonical loca.zone URLs) was added as check 7.
- 5.1 Add narrow documentation contract checks.
- 5.1.1 Add a script or targeted test that compares README/POM.yml command maps to
src/command.tscompletions and HELP text; completion: omission of/pom status [--json]or/pom helpfails the check. - 5.1.2 Add a layout-doc check that fails if docs/skills mention
06_exportsor06_logsas canonical generated directories; completion: stale path names cannot re-enterdocs/INVENTORY.mdorskills/pom/references/artifacts.md. - 5.1.3 Add a prompt-order doc check or snapshot tied to
composePromptStack/renderStagePrompt; completion: docs cannot claim contract-before-law or non-ID override semantics.
- 5.1.1 Add a script or targeted test that compares README/POM.yml command maps to
- 5.2 Add package/release mutation checks.
- 5.2.1 Add a packaging assertion that every runtime-loaded bundled resource root in source (
../prompts,../skills,../themes, plus any future agents/rules discovery roots) is represented inpackage.json.files; completion: deletingprompts/fromfilesfails before pack. - 5.2.2 Add a release-truth check that prevents
scripts/release-manifest.mjsfrom rendering PASS claims when the corresponding gate evidence file/command result is missing or stale; completion: old hard-coded PASS strings cannot survive without evidence. - 5.2.3 Add a mutation proof for the release check: temporarily remove
prompts/from package files or alter one command-map doc entry and confirm the new check fails, then revert; completion: failure output is captured in wiki verification notes.
- 5.2.1 Add a packaging assertion that every runtime-loaded bundled resource root in source (
- 5.3 Keep automation scoped and source-grounded.
- 5.3.1 Do not add broad linters or formatters as a substitute for contract checks; completion: each new check defends one listed defect with a precise failure message.
- 5.3.2 Update
scripts/verify.mjsonly if dependency availability is restored; completion: new checks run under the existingnpm run verifysequence without masking the current install blocker.
6. 🍎 Ego browser handoff and live roast
Purpose: acknowledge that official ego lite is macOS-only today while still enabling Linux-safe preview work and a later real ego audit.
- 6.1 Record the ego platform boundary as a blocker, not a workaround.
- 6.1.1 Add wiki/readiness task noting official ego lite is macOS-only, Linux support is roadmap-only, the Darwin installer cannot run on this Linux host, and
ego-browseris absent; completion: no Linux verification step claims to satisfy an ego requirement. - 6.1.2 Prepare a macOS handoff checklist: checkout source, install dependencies, run local wiki preview, install/run official ego lite, open the wiki, capture link/navigation/rendering findings; completion: a macOS operator can execute without needing this Linux session.
- 6.1.1 Add wiki/readiness task noting official ego lite is macOS-only, Linux support is roadmap-only, the Darwin installer cannot run on this Linux host, and
- 6.2 Provide Linux-safe pre-ego preview and link verification.
- 6.2.1 Add a non-ego local preview path using the chosen Quartz/static renderer or markdown link checker; completion: docs index/sidebar/internal links render locally on Linux and failures are recorded as pre-ego findings.
- 6.2.2 Label Linux preview evidence as “pre-ego” only; completion: readiness gate still requires macOS ego review or an explicit future Linux ego release.
- 6.3 Run the later ego-browser live wiki roast when available.
- 6.3.1 On macOS ego or future Linux ego, drive the live wiki with ego-browser: homepage, sidebar, docs index, command page, release truth page, generated-vault page, and readiness page; completion: screenshots/DOM notes prove navigation and content match source contracts.
- 6.3.2 File roast findings back into the wiki backlog/remediation list with source references; completion: every ego finding has a linked page/selector and a source-owner decision.
7. ✅ Final publication/readiness gate
Purpose: publish only after package truth, docs truth, automation, and live verification agree.
- 7.1 Resolve unresolved runtime/doc-contract tasks before final docs claim completeness.
- 7.1.1 Decide and implement whether
resources_discovershould advertise shippedagents/andrules/in addition toskills/,prompts/, andthemes(src/events.ts:19-24); completion: source behavior and docs agree, or docs explicitly say agents/rules are packaged but not resource-discovered. - 7.1.2 Give
pom_stage action=inspecta dedicated branch or document its current summary fallthrough (src/tools.ts:93-164); completion: tool docs and behavior agree, and inspect has an objective test if behavior changes.
- 7.1.1 Decide and implement whether
- 7.2 Run dependency-ordered final gates.
- 7.2.1 After registry/dependencies are restored, run
npm install,npm run release:manifest,npm run release:check, andnpm run verify; completion: outputs are captured and release/readiness pages cite exact current results. - 7.2.2 Run package dry-run and inspect the file list for
prompts/,agents/,rules/,skills/,themes, docs, scripts, README, POM.yml, AGENTS.md, LICENSE, and RELEASE.json; completion: packaged content matches runtime resource needs. - 7.2.3 Run wiki preview/link verification on Linux and ego live roast on macOS/future ego; completion: both evidence classes are stored with labels and no broken internal links remain.
- 7.2.1 After registry/dependencies are restored, run
- 7.3 Publish only with exact status labels.
- 7.3.1 Update README/wiki readiness summary to one of:
BLOCKEDwith external prerequisite,PARTIALwith exact passing checks, orREADYwith all gates and ego audit complete; completion: no PASS/READY claim lacks linked evidence. - 7.3.2 Final definition of done: package includes runtime prompts; release manifest is evidence-backed; docs/index/sidebar/wiki exist; stale layout/command/prompt/validation/test/settings claims are corrected; package metadata is present or explicitly URL-blocked; runtime/doc-contract decisions for resources and inspect are resolved; full verify is green after dependency install; Linux preview passes; macOS/future ego audit is complete or publication remains blocked.
- 7.3.1 Update README/wiki readiness summary to one of: