Accepted
2026-07-20
The human maintainer accepted the capability-oriented, synthesis-first architecture through APG16 and authorized the public-router vertical slice. Acceptance does not authorize guidance synthesis, a language profile, root instruction migration, private-router cutover, maturity promotion, release, or any phase after APG16.
APG v0.2.0 contains six stable, independently triggerable repository-process skills. A private Codex integration skill currently routes tasks to those six leaves, but it is machine-scoped, describes the earlier provisional catalog, and depends on a private projection layout. APG has no public owner for routing among its own leaves.
Codex VC also contains broad engineering guidance, project-specific skills, machine policy, and maintainer preferences. Migrating those artifacts one for one would confuse private integration with reusable procedure, duplicate project policy, and create skills whose boundaries follow source files rather than coherent problems. The root instruction file has accumulated reusable language guidance alongside genuinely global authority, safety, privacy, and machine-operation rules.
The v0.3 foundation therefore needs three distinct capabilities:
The profile warning contract is separately proposed in ADR 0012.
The proposed v0.3 portfolio adds candidates by capability, not by source artifact:
| Candidate family | Candidate owner | Purpose | Default disposition |
|---|---|---|---|
| APG routing | agentic-praxis-grimoire-workflow |
Select the most specific applicable APG leaf and report material non-triggers or integration faults | Recommend APG16 evaluation |
| Guidance synthesis | synthesizing-repository-guidance |
Classify dense or duplicated instructions into root rules, existing skills, language profiles, project policy, evidence, private overlays, or rejection | Evaluate after the router |
| Language profiles | Ten <language>-language-profile leaves |
Supply language- or framework-specific judgment and warning levels after a matching language trigger | Candidate inventory only; each requires separate evidence |
No Codex VC skill receives a presumptive public counterpart. Existing APG leaves remain unchanged unless a future phase demonstrates a specific gap in their current procedure.
The public router preserves the generalized capability-selection function while removing private integration assumptions. Its accepted contract is:
The router is optional discovery and selection guidance for ambiguity, routing
audit, or capability-health diagnosis. Clear native selection and explicit
applicable operator selection remain router non-triggers. The router does not
authorize action,
dispatch workers, create a workflow engine, require leaf chaining, duplicate
leaf procedures, or replace native harness behavior. It should retain the name
agentic-praxis-grimoire-workflow so the public and private discovery concepts
converge without an alias migration. A future implementation replaces the
private copy only after public-source integration and rollback are separately
validated.
APG16 implements the maintenance boundary as a schema-version-1, skill-local capability map. The map contains only public names, capability classes, and concise trigger summaries; excludes the router itself; and is covered by a focused exact-catalog test. A catalog addition without an explicit map disposition fails that test. The map is selection metadata, not a second owner for leaf procedure.
Duplicate names are not a precedence mechanism. A routing claim that depends on source must stop until the client supplies identifying scope or path evidence. The public router may coexist with the private router, but APG16 does not replace, redirect, or remove the private integration.
synthesizing-repository-guidance is the preferred reusable owner when an
instruction corpus, root file, or private standards collection needs
modularization. Its proposed output is a disposition map, not rewritten policy.
For each guidance unit it should record:
retain, synthesize, route, defer, reject, or keep-private;The skill must prefer an existing owner, independently written synthesis, and the smallest stable boundary. It must not treat repetition, source authority, or a private artifact boundary as proof that a public skill is needed.
Root AGENTS.md remains the owner for concise instructions that apply to
nearly all repository work. Reusable guidance migrates only after a future
phase demonstrates its trigger and owner:
| Guidance class | Proposed owner |
|---|---|
| Authority, instruction precedence, privacy, destructive-action, and repository-wide stop rules | Root AGENTS.md |
| APG leaf selection | Public APG workflow router |
| Cross-source classification and modularization | Guidance-synthesis skill |
| Language-specific judgment and warning examples | Matching language profile |
| Exact commands, versions, frameworks, coverage gates, paths, deployment, and repository layout | Repository-local policy |
| Architecture rationale and warning semantics | Core APG documentation and ADRs |
| Source identity, license, derivation, and observed behavior | Provenance and evaluation records |
| Machine paths, installed-tool state, personal defaults, and private repository operations | Codex VC or another private overlay |
Migration is subtractive only after replacement discovery and behavior are verified. During transition, root instructions may route to the new owner but must not restate its procedure. A source rule is removed only when every supported context has an equal or stronger owner and rollback can restore the prior instruction bytes.
The following classes remain outside public APG unless later evidence supports an independently generalizable problem:
General safety ideas may inform APG-native synthesis, but private expression, local topology, and personal policy do not become public dependencies.
The proposed inventory contains twelve new candidates:
| Candidate | Trigger boundary | Relationship |
|---|---|---|
agentic-praxis-grimoire-workflow |
A task needs routing among APG’s canonical leaves or an explanation or audit of that routing | Public synthesis of the private router; no leaf duplication |
synthesizing-repository-guidance |
A dense, duplicated, or mixed-scope guidance corpus needs owner and migration dispositions | Cross-cutting synthesis; not a general writing skill |
python-language-profile |
Python implementation, review, or design needs language-specific judgment beyond repository policy | Consumes ADR 0012 warning contract |
bash-language-profile |
Bash-specific script work needs Bash semantics or safety guidance | Does not own portable POSIX shell policy |
bats-language-profile |
Bats test design or review needs framework-specific isolation and assertion guidance | Complements, does not duplicate, Bash profile |
go-language-profile |
Go work needs package, error, concurrency, context, or performance guidance | Defers exact tooling and versions to the repository |
ruby-language-profile |
Ruby work needs language-specific object, exception, mutation, or test guidance | Does not prescribe one framework |
zsh-language-profile |
Native Zsh script or function work needs Zsh option, expansion, or startup guidance | Does not claim POSIX compatibility |
zunit-language-profile |
ZUnit test work needs framework-specific isolation and assertion guidance | Complements, does not duplicate, Zsh profile |
nix-language-profile |
Nix expression, module, flake, or evaluation design needs declarative or effect-boundary guidance | Does not authorize evaluation, builds, or host activation |
postgresql-language-profile |
PostgreSQL SQL, schema, transaction, concurrency, or query-plan work needs engine-specific guidance | Does not authorize migrations or live access |
sqlite-language-profile |
SQLite schema, transaction, concurrency, journaling, or query-plan work needs engine-specific guidance | Does not universalize WAL or one deployment model |
The inventory is not an implementation commitment. Every candidate must pass the accepted new-skill threshold, including positive, non-trigger, edge or stop, rights, removal, and independent-review evidence.
Viable for one machine but rejected as the preferred architecture. APG’s public users otherwise receive six leaves without APG-owned selection guidance, and the private copy can drift from the public catalog.
Rejected. The six stable leaves have distinct triggers and material non-triggers. Mandatory design, planning, implementation, debugging, review, or delegation steps would over-trigger and contradict accepted APG behavior.
Rejected. Source-file boundaries do not establish reusable capability boundaries. This option would publish machine policy, duplicate existing APG owners, and create a large maintenance surface without independent evidence.
Rejected. A single trigger would either over-trigger for every language or require an internal router as complex as the catalog. Independent language profiles are removable, testable, and discoverable without loading unrelated guidance.
Rejected. Routine loading would impose irrelevant context on most tasks and would mix reusable procedure with project and machine policy.
Rejected. They combine personal defaults, local paths, project layout, framework choices, and broadly reusable engineering ideas. Public APG requires independent synthesis and a public-safe owner for each retained practice.
No migration changes the six existing leaves’ maturity. New skills receive no maturity disposition merely because this proposal names them.
APG16 evaluates and implements the public
agentic-praxis-grimoire-workflow router as one new-skill vertical slice. It
freezes routing, non-trigger, stale-catalog, missing-leaf, and no-chain
scenarios; compares the private behavior and public candidate; adds only the
canonical leaf, discovery projection, catalog row, provenance, tests, and phase
records required by the accepted lifecycle; and leaves all language profiles,
guidance synthesis, root-instruction migration, maturity, private integration
replacement, and publication for later authorization.