Skip to content

feat(turn-close): arch bootstrap seed — self-start ARCHITECTURE/CONVERGENCE in a fresh repo - #437

Merged
dancinlife merged 1 commit into
mainfrom
feat/arch-bootstrap-seed
Jul 27, 2026
Merged

dancinlife merged 1 commit into
mainfrom
feat/arch-bootstrap-seed

Conversation

@dancinlife

Copy link
Copy Markdown
Contributor

The design discipline was keyed on repo-root ARCHITECTURE.json EXISTING (architecture
inject returns 0 without it; activeLegs computes arch/conv from the same file), so a new
repo got no inject, no trio line, no forgery check — and nothing anywhere asked for the
tree. ING has no such hole: its store is a git ref ing add creates on the spot and its
demand ships with the engine (commons ing-board), so it self-starts.

  • turn-close inject: emit ONE seed line while !legs.arch (present -> dead branch, 0B/turn),
    opt-out archSeed: false (opt-OUT only — a marker-keyed gate is silent-dead in exactly
    the new repos it is for, config-ts-1). No hook rewiring: turn-close inject is already
    per-turn on both surfaces + the live global settings.
  • the AGENT authors the tree, never the engine: mere file presence arms the legs, so an
    engine-scaffolded stub would gate every reply against fiction.
  • new ARCH-PLACEHOLDER lint (block, lint.archPlaceholders exact-match, config-ts-2)
    catches an inited-but-unfilled sidecar init scaffold at the commit gate.

Design delegated to fable+sol (both converged on turn-close inject / no engine scaffold /
config opt-out); the split calls were decided against the repo: inline seed string (a
file-backed source would charge sidecar's own fixed inject budget for a line it never
emits) and no new architecture init verb (a mechanical scaffold satisfies presence with
placeholders). Recorded as convergence turn-close-ts-1.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

…RGENCE in a fresh repo

The design discipline was keyed on repo-root ARCHITECTURE.json EXISTING (architecture
inject returns 0 without it; activeLegs computes arch/conv from the same file), so a new
repo got no inject, no trio line, no forgery check — and nothing anywhere asked for the
tree. ING has no such hole: its store is a git ref `ing add` creates on the spot and its
demand ships with the engine (commons ing-board), so it self-starts.

- turn-close inject: emit ONE seed line while !legs.arch (present -> dead branch, 0B/turn),
  opt-out `archSeed: false` (opt-OUT only — a marker-keyed gate is silent-dead in exactly
  the new repos it is for, config-ts-1). No hook rewiring: turn-close inject is already
  per-turn on both surfaces + the live global settings.
- the AGENT authors the tree, never the engine: mere file presence arms the legs, so an
  engine-scaffolded stub would gate every reply against fiction.
- new ARCH-PLACEHOLDER lint (block, lint.archPlaceholders exact-match, config-ts-2)
  catches an inited-but-unfilled `sidecar init` scaffold at the commit gate.

Design delegated to fable+sol (both converged on turn-close inject / no engine scaffold /
config opt-out); the split calls were decided against the repo: inline seed string (a
file-backed source would charge sidecar's own fixed inject budget for a line it never
emits) and no new `architecture init` verb (a mechanical scaffold satisfies presence with
placeholders). Recorded as convergence turn-close-ts-1.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dancinlife
dancinlife merged commit 1d627be into main Jul 27, 2026
@dancinlife
dancinlife deleted the feat/arch-bootstrap-seed branch July 27, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant