Skip to content

Greenfield tie-in + MapleFolio history (98b): bootstrap creates committed target north star - #104

Merged
yihanzhu merged 1 commit into
mainfrom
issue-98b-greenfield-history
Jul 3, 2026
Merged

Greenfield tie-in + MapleFolio history (98b): bootstrap creates committed target north star#104
yihanzhu merged 1 commit into
mainfrom
issue-98b-greenfield-history

Conversation

@yihanzhu

@yihanzhu yihanzhu commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Closes #100

What & why (98b — additive adoption, no gate/source change)

Post-98a the gate (scripts/manager-review.sh) reads the target's committed .fabrica/north-star.md and FAILs on missing / fabrica-shipped-default-marker / no-status: active-entry (doctor.sh WARNs). So the greenfield 0→1 path must produce a real committed one, and every place that enumerates the bootstrap artifacts must include it — else a doc-following 0→1 path omits it and lands a target the shipped gate rejects. Manager-debate reached PROCEED (round 3).

AC #1 — greenfield bootstrap creates + commits a real .fabrica/north-star.md (persona + coder routines + user docs)

  • manager/CLAUDE.md + templates/faber-command.md (persona): the greenfield bootstrap (3b) turns the operator's command into a committed .fabrica/north-star.md in the target. Faber drafts the exact north-star text + done-signal as part of the operator-approved bootstrap plan (command-as-first-north-star); the coder commits THAT text — it does not invent the goal. Added the debate-GAP note: a doctor.sh north-star WARN before the bootstrap PR lands is advisory in greenfield (like the expected missing-PR-CI WARN), not a blocker.
  • routines/coder.md + routines/coder-revision.md (greenfield-bootstrap coder contract): the bootstrap coder now also creates + commits <target>/.fabrica/north-star.md with the Faber-provided star — an active status: active heading, the operator's goal + a done-signal, NO fabrica-shipped-default marker, no fabricated approval token (approval is the operator's in-session act). If the brief omits the north-star text, the coder escalates (ambiguous-spec + needs-human) rather than inventing the goal.
  • QUICKSTART.md "Starting from an empty folder" + NORTH_STAR.md B mode / done-signal: added .fabrica/north-star.md to the bootstrap-PR artifact set, so the documented 0→1 path ends with a committed active non-placeholder star the shipped gate accepts.

AC #2 — MapleFolio history log

Added trajectory entry C — "Numbers I can trust" (MapleFolio) (Fabrica's first real external run; set+approved 2026-07-01 in-session /faber, achieved 2026-07-02; motivated the per-target north-star architecture — #97/#98/98a/98b) to NORTH_STAR.md's log, in B's entry format. Fabrica-self's active star stays B — only C is added to the history/log; the active entry (and its fabrica-shipped-default marker) is unchanged.

AC #3 — RESTORE.md pointer

RESTORE.md section 4 (per-target restore checklist) previously enumerated labels / branch protection / CI / conventions / in-session setup but had no per-target north-star step. Added a brief pointer: copy templates/.fabrica/north-star.md, replace placeholder, remove marker, commit; setup doesn't seed it; Fabrica-self uses the root NORTH_STAR.md.

Scope / constraints honored

  • No auto-seeding re-opened (setup stays label-only). No gate/resolver/doctor logic change (98a). Fabrica-self's active north star stays B.
  • Docs-only + persona/routine edits — no *.sh touched, so shellcheck 0.9.0 is unaffected.
  • Net ~93 insertions across 7 files, all additive.

CI green (locally)

  • Structure check (under bash): structure ok.
  • North-star resolver tests: 64 passed, 0 failed.
  • North-star gate/consumer tests: 65 passed, 0 failed.
  • Shellcheck: no .sh changed (only runs on shell scripts).

Self-modification note

Merging this does not change live behavior until synced:

  • Coder routines (routines/coder.md / routines/coder-revision.md) take effect when Faber briefs a spawned coder subagent.
  • Persona (manager/CLAUDE.md) takes effect on Faber's next read.
  • /faber command (templates/faber-command.md) takes effect after merge + re-running scripts/install.sh.
  • The user docs (QUICKSTART.md, RESTORE.md, NORTH_STAR.md) take effect on read.

🤖 Generated with Claude Code

…tted target north star (#100)

Post-98a the gate reads the target's committed .fabrica/north-star.md and FAILs
on missing / fabrica-shipped-default / no-active-entry. This additive adoption
work makes the greenfield 0→1 path produce a real committed one, and adds it to
every place that enumerates the bootstrap artifacts:

- manager/CLAUDE.md + templates/faber-command.md: greenfield bootstrap turns the
  operator's command into a committed .fabrica/north-star.md; Faber drafts the
  exact text + done-signal, the coder commits THAT text (no invented goal). Note
  that a pre-bootstrap doctor.sh north-star WARN is advisory in greenfield.
- routines/coder.md + routines/coder-revision.md: greenfield-bootstrap coder
  contract now also creates + commits <target>/.fabrica/north-star.md with the
  Faber-provided star (active status: active heading, goal + done-signal, NO
  fabrica-shipped-default marker, no fabricated approval token); escalate if the
  brief omits the text rather than inventing it.
- QUICKSTART.md greenfield path + NORTH_STAR.md B mode/done-signal: add the
  committed .fabrica/north-star.md to the bootstrap-PR artifact set.

MapleFolio history: add trajectory entry C (first real external run, achieved
2026-07-02, motivated the per-target architecture) to NORTH_STAR.md's log.
Fabrica-self's active star stays B.

RESTORE.md: add a per-target .fabrica/north-star.md pointer to the per-target
restore checklist (section 4), which previously omitted it.

Self-modification note: coder routines take effect when Faber briefs a spawned
coder; persona (manager/CLAUDE.md) on next read; /faber
(templates/faber-command.md) after merge + scripts/install.sh re-run.

Closes #100

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@yihanzhu yihanzhu added the round-0 Review-loop counter: initial PR label Jul 3, 2026
@yihanzhu

yihanzhu commented Jul 3, 2026

Copy link
Copy Markdown
Owner Author

Codex reviewer (cross-vendor, read-only)

Reviewed-head: 6c377e1
Reviewed-base: a6fe5b0

Posted verbatim by codex-review.sh (codex exec review --base refs/codex-review/104-75294/base in an isolated temp worktree, sandbox forced read-only). Comments only — Codex never pushes, approves, or merges.

The changes are documentation/instruction updates that consistently add the greenfield north-star bootstrap requirement. I did not find a discrete introduced issue that would break the documented workflow.

@yihanzhu yihanzhu added the merge-ready Exact reviewed head+base passed; YOUR merge; void if either moves label Jul 3, 2026
@yihanzhu
yihanzhu merged commit 5b2da0f into main Jul 3, 2026
2 checks passed
@yihanzhu
yihanzhu deleted the issue-98b-greenfield-history branch July 3, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-ready Exact reviewed head+base passed; YOUR merge; void if either moves round-0 Review-loop counter: initial PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-target north star (98b): docs sweep, greenfield tie-in, MapleFolio history, migration

1 participant