feat(B-0854): zeta-install.sh → ace install zeta migration trajectory — declarative package.json-style manifest like ../scratch and ../SQLSharp (Aaron 2026-05-27)#5405
Merged
AceHack merged 1 commit intoMay 27, 2026
Conversation
…ry (Aaron 2026-05-27) Operator-named migration trajectory: imperative bash installer → declarative Ace-package-manager-driven install (like ../scratch + ../SQLSharp already do). Composes with existing Ace cluster: B-0288 CLI (parent dep) + B-0824 meta-PM + B-0816 ArgoCD-max + B-0742 distributable-POC + B-0821 dep-graph + B-0822 diamond-res + B-0777 ontology-negotiation + B-0247 Ace lineage. 5-phase trajectory: - Phase 0: inventory + manifest design (this row's smallest slice) - Phase 1: package.json + bunfig.toml + bun.lock stub (like ../scratch) - Phase 2: ace.yaml Ace-package manifest - Phase 3: `ace install zeta` works from fresh USB - Phase 4: zeta-install.sh retires (Rule 0 carve-out shrinks) - Phase 5: Zeta becomes Ace POC #2 (after k8s-local-stack per B-0742) 9 sub-rows B-0854.1-9 enumerated. Honors operator's "we just spoke about this earlier" via explicit composes_with chain back to prior Ace cluster substrate (no redundancy minted). Per Rule 0 (.claude/rules/rule-0-no-sh-files.md): install-graph carve-out preserved through all phases; only shrinks at Phase 4 when ace install zeta becomes canonical.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Adds a new P1 backlog row for migrating Zeta installation from zeta-install.sh toward a declarative Ace-managed ace install zeta flow, and updates the generated backlog index to include it.
Changes:
- Adds B-0854 with phased migration plan and Ace-cluster cross-references.
- Updates
docs/BACKLOG.mdwith the new P1 entry.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
docs/backlog/P1/B-0854-zeta-install-sh-to-ace-install-zeta-migration-trajectory-package-json-style-declarative-manifest-like-scratch-and-sqlsharp-aaron-2026-05-27.md |
New backlog row describing the Ace install migration trajectory. |
docs/BACKLOG.md |
Generated backlog index entry for B-0854. |
| - B-0822 | ||
| - B-0777 | ||
| - B-0247 | ||
| - B-0852 |
| ### Phase 3 — `ace install zeta` works from a fresh USB | ||
|
|
||
| - Live USB boots → Ace CLI present in live overlay → `ace install zeta` runs the declarative install | ||
| - Existing `zeta-install.sh` becomes a thin bootstrap that does `curl ... | ace install zeta` OR `nix run github:.../ace -- install zeta` |
AceHack
added a commit
that referenced
this pull request
May 27, 2026
…0 substrate for Ace migration trajectory (14 sub-steps; 12 declarative-input categories; substrate-anchor for B-0852/0853/0855/0856 cross-refs) (#5420) * docs(B-0854.1): zeta-install.sh step-state-machine inventory — Phase 0 substrate for Ace migration trajectory B-0854 sub-row .1 (Phase 0; smallest pure-analysis slice). Documents the EXISTING imperative bash state-machine in zeta-install.sh so the B-0854 Phase 2 declarative-Ace-manifest schema can express the same surface. Inventory covers: - Top-level entry (REPO_URL, HOST, ZETA_AUTO_CONFIRM env semantics) - Step-by-step state machine for all 14 sub-steps (1, 2, 3, 4, 5, 6, 6.5, 6.55, 6.6, 6.7, 6.8, 6.9, 6.95, 7) with inputs/outputs/side- effects/failure-modes/declarative-equivalent per step - Cross-cutting: operator-prompt accumulation count (7 prompts today; B-0852 phase-split target = 1 passphrase prompt) - Idempotency surface table — informs B-0855 architectural fix scope - 12 distinct declarative-input categories the Ace manifest must capture (Phase 2 sub-row scope) - Files-generated-during-install table mapping to B-0852.5 cred- manifest entries (6 mapped, 3 candidate-expansion items named) Snapshot date: 2026-05-27 (origin/main 70596a8; PR #5417 cosign merge). Future refreshes should re-snapshot when zeta-install.sh changes substantially. Composes with already-landed substrate-engineering arc: - B-0852 + sub-rows (cred persistence) — PR #5403/#5411/#5414 - B-0853.1 (cosign signing) — PR #5417 + fix-fwd #5419 - B-0855 (self-register architectural fix) — PR #5412 - B-0856 Path A (deferred /tmp coordination) — PR #5413 - B-0854 parent (Ace migration trajectory) — PR #5405 No code change; pure documentation. Doesn't affect ISO substrate; batches into substrate-engineering history independent of next ISO build cycle. * fix(B-0854.1): escape | inside code spans for MD056 table-column-count compliance * fix(B-0854.1): 10 Copilot accuracy corrections — verified against actual zeta-install.sh content PR #5420 Copilot review caught 10 substantive accuracy issues in the B-0854.1 inventory doc. All 10 verified against origin/main 70596a8's actual zeta-install.sh content + corrected. Corrections: - Name attribution → role-ref ("the human maintainer") - Step 1 inputs: actual `lsblk -d -p -n -o NAME,TYPE,RM,RO,TRAN` + awk filter (not made-up NAME,SIZE,MODEL,TRAN,ROTA) - Step 3 side effects: `sgdisk --zap-all` only (not `wipefs -af` too) - Step 4: actual `sgdisk` (NOT `parted`); GPT layout via -n + -t flags; whole-disk longhorn partitions on DATA_DISKS too - Step 6: `nixos-generate-config --root /mnt --force` (NOT --no-filesystems; --force overwrites existing config) - Step 6.5: no MAGIC_NUMBER (didn't exist in script); INJECT_OK gate flag; iter-4 v1 manual-config-edit fallback path - Step 6.9: SELF_REG_OK flag; documented graceful-skip path lines 731+ - nixos-install: actual line ~1004 (NOT 1096-1340); section renamed to "nixos-install (the actual build; ~line 1004)" since the prior range was wrong - Step 7: actual lines 1261-1336 (NOT 1341-1352); banner driven by GH_AUTH_OK/GH_KEY_COUNT/INJECT_OK/SELF_REG_OK (NOT MAGIC_NUMBER); conditional sections listed in declarative equivalent Resolves 10 Copilot threads on PR #5420. Root cause of the inaccuracies: original draft was written from `grep -E "^# ── Step"` summaries + recollection of script behavior, not careful per-step body reads. Discipline lesson: when authoring substrate-anchor docs claiming to inventory existing code, the read must be careful per-line, not skim-grep summary. Composes with .claude/rules/verify-existing-substrate-before-authoring.md at the inventory-substrate scope (verify-content-of-thing-being-inventoried before authoring claims about its content). --------- Co-authored-by: Lior <lior@zeta.dev>
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
../scratch+../SQLSharpon operator's machine (package.json+bunfig.toml+bun.lock+Directory.Build.props)Honors operator's "we just spoke about this earlier"
Existing Ace cluster substrate (B-0288 + 0742 + 0777 + 0816 + 0821 + 0822 + 0824 + 0247 + ace-package-manager agenda + skill-crystallization-pipeline trajectory) covers the architecture + CLI primitives but does NOT explicitly name "Zeta installs itself via Ace" migration. This row is the OPERATIONAL bridge that closes the dogfooding loop without minting redundant architecture.
Rule 0 preserved
Per
.claude/rules/rule-0-no-sh-files.md: install-graph carve-out preserved through all phases.zeta-install.shshrinks at Phase 4 (becomes thin bootstrap wrappingace install zeta); full retirement only afterace install zetais canonical entrypoint.Composes with adjacent in-flight work
Test plan
🤖 Generated with Claude Code