feat: template dual-audience split + Node installer + consumer maintenance guide - #5
Merged
entropy-cloud merged 5 commits intoJul 30, 2026
Conversation
…ding mission
This repo now serves two audiences explicitly:
1. Real project - develops tools/mission-driver/ using its own AGE workflow
2. Template - consumers run ./install-age.sh to bootstrap a new AGE project
- Move 16 fill-in files + START-HERE-after-copy.md to template/ (pristine copies)
- Rewrite root AGENTS.md as real-project contract (Dual-Audience Repo +
In-Tree Tool sections; all 15 Operating Rules preserved)
- Restore root README.md / README.zh.md to rich original (~370/~140 lines,
was over-cut to 53 lines) with minimal updates for install-age.sh + onboarding
- New root DEVELOPMENT.md (this repo's own dev process)
- Fill 11 root docs from template stubs (context/*, architecture/*,
process/app-workflow, backlog/README, index.md, testing/known-good-baselines)
- New docs/architecture/template-vs-realproject-boundary.md (architecture truth)
- install-age.sh: TEMPLATE_COPIED array + extended sed-replace (all fill-in
files now get <project-name> substitution; shared methodology untouched);
onboarding.json heredoc + mkdir docs/plans/onboarding; updated NEXT STEPS
- install-age.manifest: 15 entries gain template/ prefix + 1 onboarding entry
- New template/docs/backlog/onboarding-roadmap.md (8 WIscovering context/*,
architecture/*, index, app-workflow, known-good-baselines + logs/{year}/)
- New tools/check-install-age.sh (persisted closure-gate test, 10 assertions)
- tools/README.md: add check-install-age.sh to Core Tools
- tools/package.json: add check:install script
Verified: pnpm --prefix tools check:install 10/10 PASS; mission-check.mjs
validates onboarding.json; ./tools/mission-driver.sh list from real-target
install shows base + demo + onboarding (3 missions).
…lit + onboarding mission - docs/analysis/2026-07-27-0000-template-realproject-split-proposal.md (v4, passed 4 rounds of independent audit; recommendation: template/ subdirectory overlay extending existing install-age.sh mechanism) - docs/plans/2026-07-27-0000-template-realproject-split-plan.md (Plan Status: completed; independent draft review + closure audit by subagents) - docs/plans/2026-07-27-0100-onboarding-mission-plan.md (Plan Status: completed; independent draft review; solo closure per AGENTS.md Reviewer-Availability Fallback for additive non-protected change) - docs/logs/2026/07-27.md (both plans' execution log + audit lessons) Audit trail: proposal survived 4 independent audit rounds (B1 enumeration, B2 pnpm justification, B3 carry-forward, B4 sed-replace breakage); plan 1 survived 1 draft review (2B+5N fixed) + 1 closure audit (B1 clerical fixed); plan 2 survived 1 draft review (2B+8N fixed) + 1 post-implementation audit (B1 onboarding-roadmap instructional <project-name> corruption fixed).
…on/prompt
Three orthogonal improvements plus a test fix:
1. tools/ → pnpm workspace (Phase 1)
- Add tools/pnpm-workspace.yaml (members: mission-driver, mission-driver/web)
- Single lockfile (tools/pnpm-lock.yaml); unified PM pin pnpm@10.27.0
- Sync .github/workflows/web-dist-check.yml to workspace topology
- Supersedes 2026-07-24-1030 Decision 2 (preserves its no-autobuild constraint)
2. heredoc materialization (Phase 2)
- Move ~200 lines of install-age.sh heredoc into template/install/ real files
- install-age.manifest: add '> dst' / ':: flags' optional syntax
- install-age.sh: 422 → 259 lines (manifest-driven copy + flags)
3. install-age.sh → tools/install-age.mjs (Phase 3)
- Zero-dep Node ESM (only node: builtins); JSDoc types
- install-age.sh → 16-line thin shim; add install-age.cmd (Windows native)
- 15 unit tests (pnpm install-age:test); check-install-age.sh 10/10 PASS
4. fix runner.js session forwarding + prompt transport
- DEFAULT_DRIVER_ARGS missing {session} token → --session never injected
- promptMode default 'arg' → 'stdin' (mdr-3 Phase 2 design intent)
- md:test now 556/556 full green (was 549 pass / 7 fail)
Verification: pnpm md:test 556/0 + pnpm md:web:check:dist exit=0
+ pnpm install-age:test 15/0 + check-install-age.sh 10/10
.opencode/skills/mission-driver/ 此前不在 install-age.manifest 中,
consumer 项目装出来缺这个 skill。新增 3 个条目(SKILL.md +
references/{mission-config-schema,roadmap-template}.md),installer
无需改动(已支持任意相对路径 + 自动 mkdir + skip-existing)。
Verification (full green):
- readManifest 解析 3 条目 flags=[] src=dst
- 实跑 node tools/install-age.mjs <tmp>/age-test TestProject 三文件全部 +
- diff -q 与源字节一致 (18962 / 13081 / 12551 B)
两轮 consumer 维护性改进: 1. project-context.md 加 Companion Context Files 段 — flow 各 step 通过此文件路由到 ai-autonomy-policy / codebase-map / source-of-truth。 治本 consumer 自定义 AGENTS.md 后丢掉 Read This First 的断链。 2. AGE-FILES-GUIDE.md (新) — 88 文件维护指南,6 类分类 (A 引擎基建 / B 一次性配置 / C onboarding 填 / D 需求设计填 / E 即装即用 / F 运行时)。 install 到 consumer docs/references/age-files-guide.md。 Verification (full green): - readManifest: 88 entries parse clean - install to temp: 88 copied / 0 skipped - grep installed guide: all numbers consistent (no stray 87)
Merged
7 tasks
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
5 commits improving the AGE template's install flow, tooling, and consumer post-install maintainability. All backward-compatible — the installer skips existing files, so current consumers are unaffected.
Changes by area
Template dual-audience split + onboarding
template/(pristine skeletons for consumers) fromdocs/(real-project versions for mission-driver dogfooding) — fixes the ambiguity where consumer installs picked up mission-driver-specific contentonboardingmission + roadmap so consumers can auto-fill context/architecture docs after installTooling: pnpm workspace + cross-platform Node installer
tools/as a pnpm workspace (single lockfile, hoisted deps)install-age.shto Node ESM (tools/install-age.mjs, zero deps) — Windows users no longer need Git Bash; addsinstall-age.cmdentry pointrunner.jssession/prompt contract drift (556/556 tests green)Install manifest completeness
.opencode/skills/mission-driver/(SKILL.md + 2 references) to the install set — was previously missing, consumers lacked the operator skillConsumer maintenance guide + context routing fix
AGE-FILES-GUIDE.md(ships todocs/references/age-files-guide.md): classifies the 88 installed files into 6 maintenance categories (A engine infra / B one-time config / C onboarding fills / D requirement-design fills / E as-shipped / F runtime), so consumers know exactly what to do with each fileproject-context.md: addCompanion Context Filessection so flow steps route toai-autonomy-policy.md/codebase-map.md/source-of-truth-and-precedence.mdvia the one file every step hard-reads. Fixes broken routing when consumers customizeAGENTS.mdand drop the template's "Read This First" section.Verification (full green)
pnpm md:test: 556/556 passpnpm install-age:test: 15/15 passnode tools/install-age.mjs <tmp>): 88 files copied / 0 skippedAGE-FILES-GUIDEnumbers consistent (no stray 87)Commits
be82a48feat(template): split real-project vs template audiences + add onboarding missiondc75030docs(plans): add proposal + 2 plans + log for template-realproject split + onboarding mission6ecdc89feat(tools): unify pnpm workspace + Node installer + fix runner session/promptf2ff7affeat(install-age): manifest 补 mission-driver operator skill80b5256feat(install): add AGE-FILES-GUIDE + companion context routingTest plan
./install-age.sh /tmp/test "Test"→ 88 files, no errors./tools/mission-driver.sh listsmoke passesdocs/references/age-files-guide.mdpresent and numbers consistentdocs/context/project-context.mdcontains Companion Context Files section