The numbered roadmap labels are implementation slices, not released package
versions. Semantic-release assigns package versions from commits on main.
- 0.5 — target projection architecture: one target registry and one adapter per harness, with marketplace compilation as an optional target capability.
- 0.6 — scoped skill installation: explicit user, project, and plugin scopes; Pi skill support; plan-derived installed-state checks.
- 0.7 — materialization convergence: standalone render and install produce
compilation plans and publish through the same staged materializer. Recorded
as change
rsuzoxko, commit2cbcb8ff.
Make agent a first-class leaf artifact and use that same canonical model from
marketplace compilation.
Current progress: AGENT.md is registered as a file-layout leaf artifact and
renders to Claude's native named Markdown format and Codex's native agent-role
TOML, both using the package parser's canonical agent schema. Codex plugin
packages cannot register agent roles as of codex-cli 0.155.1
(docs/limitations.md L-010), so marketplace agent translation keeps the
Markdown-procedure fallback for Codex until that changes upstream. Claude leaf
agents install at user, project, and plugin scope; Codex leaf agents install at
user and project scope. Every file-layout install owns only its planned paths
(ndr:hjnabw). At Claude plugin scope, the plan is anchored at the package root
so the agent lands under agents/ and its declared resources land under
references/, scripts/, and assets/, where ${CLAUDE_PLUGIN_ROOT} resolves
them. User/project installs remain one-file and report plugin-root references
as scope-gated through the typed capability result (ndr:k58f71); reports
classify that condition after settled non-losses and before unknowns
(ndr:7r7n44). Other target projections and marketplace reuse of the Codex
leaf projection remain. The filename, required identity, and default layout are
recorded in ndr:2t36rb.
- Extend
ArtifactType,ARTIFACT_DEFS, projection, installation, and checks for one canonical agent artifact. - Reuse or lift
CanonicalAgentBehaviorfromsrc/agent-command.ts. Do not create a second agent schema beside the package parser. - Preserve the existing authoring contract: target frontmatter is a field-level
deep merge over shared frontmatter, while
targets.<name>.bodyreplaces the complete body. AgentForge does not add partial templates. - Keep native mapping in each target adapter. Shared code carries AgentForge's canonical meaning; it does not enumerate vendor-specific model or tool dialects.
- Once leaf projection is stable, make marketplace agent translation consume it. The current Codex reusable-procedure mapping remains the fallback only where native registration is unavailable or deliberately unsupported.
- Shared description and instruction body.
- Per-target model and reasoning-effort selection.
- Turn limits.
- Tool allowlists or permissions.
- Native registration and invocation role.
- Isolation, delegation, and same-agent follow-up where the runtime establishes them.
Successful file generation is not evidence that these semantics work. A target must translate them to a native equivalent, retain them with an explicit unenforced diagnostic, or reject/omit the projection when required behavior would disappear.
src/types.tsandsrc/schema.ts— artifact enumeration and canonical schema.src/agent-command.ts— existing canonical agent behavior parsed from package sources.src/target-adapter.tsandsrc/targets/*.ts— leaf projections, native schemas, install locations, and target-owned policy.src/targets/claude-marketplace.tsandsrc/targets/codex-marketplace.ts— current package agent translations.src/compatibility.ts,src/capabilities.ts, anddocs/limitations.mdL-008 — execution settings currently lost or under-reported.tests/agent-command.test.ts,tests/render.test.ts, andtests/fixtures/definitions/cc-marketplace/packages/librarian/— existing parser, projection matrix, and representative package fixture.
ndr:9n1m1a— model a target as an agent that cites and constrains a file specification.ndr:w3z7h3— give each target one adapter, with marketplace compilation as an optional capability.ndr:nes397— admit adapter members only for questions about the target.ndr:h3aggj— use field-level frontmatter merge and full body replacement; do not add templating.ndr:66z1f5— declare construct surfaces per target and artifact.ndr:msdg46— current Codex role-procedure mapping, explicitly revisitable when registered agents have stable package semantics.
Resolve these references through the ndr CLI before implementation so
supersession is applied. Capture a new decision before fixing a canonical
filename or schema rule that the current heads do not decide.
- Complete fresh installed-runtime acceptance for Claude Code and Codex. Their documented leaf formats and discovery locations are encoded; generated files alone do not prove discovery or enforcement.
- Establish which runtimes enforce model, effort, turns, tools, isolation, delegation, and follow-up continuity. Prompt prose does not count as enforcement.
- Keep OpenCode and Pi agent support explicitly deferred beyond 1.0; non-agent target presence does not imply agent support.
- Add a target-by-agent fixture matrix with explicit unsupported cases.
- Keep projection pure and route every write through the shared compilation plan and materializer.
- Test field-level overrides and whole-body replacement.
- Test diagnostics for each execution setting that cannot be preserved.
- Reuse the agent projection from marketplace compilation and reject generated destination collisions.
- Run unit tests, snapshots, typecheck, lint, standalone binary smoke, native validators, and fresh runtime acceptance where available.
Librarian is the 0.8 acceptance package. Its vault-reader role exercises
model/effort/turn settings, read-only tool restrictions, isolated delegation,
same-agent follow-up, and shared references. Each claim must be recorded as a
documentation claim, generated-artifact finding, or observed runtime result.
The current evidence and target-specific disposition are recorded in
librarian-agent-acceptance.md; package and
leaf-agent results must remain separate. Explicit project-role selection is
accepted on codex-cli 0.155.1; plugin registration remains unsupported. See
docs/limitations.md L-010 through L-012.
Generalize target-native hook projection around Commit. Verify event payloads, plugin-root paths, executable modes, failure behavior, and actual blocking semantics separately for each harness. Langfuse follows once lifecycle events and trust requirements are established. A harness without the required blocking behavior is explicitly unsupported.
Canonical skill and agent hooks now project during Codex marketplace compilation as separate package hook files, with mandatory activation-scope-loss diagnostics (ndr:pz1x3e). Standalone leaf projection remains unsupported. Runtime payload and blocking acceptance, including tool-name matcher gaps, remains part of this milestone rather than being implied by successful compilation.
- Use Compass for discovery and explicit-only invocation.
- Use Teach for explicit-only invocation, approval-before-write behavior,
stateful vault workspaces, and truthful degradation when a source integration
is unavailable. Track generated and pending runtime evidence in
teach-runtime-acceptance.md. - Use Librarian for registered agents, execution settings, delegation,
continuity, and resources. Its collaborator dispatches are covered by the
body-agent-referencegate (ndr:c5haze) and declared as a Codex loss; that gate resolves names package-locally, so it says nothing about a body naming another package's agent. Widening it is Fibery Charting #23, and is deliberately outside 1.0. - Use Commit for hooks, executable scripts, payloads, and blocking.
attention-workflowis out of 1.0 scope. It is unused, and is slated for removal fromjdh-agentsrather than for a verified support boundary, so proving where its structural guarantee survives projection buys nothing. Until it is removed it stays in the corpus and compiles like any other package; 1.0 simply makes no claim about it.- Compile, check, publish, and install the complete
jdh-agentscorpus. - Retire redundant generated native maintenance only after the replacement workflow passes its runtime acceptance gates.
The 1.0 support statement must distinguish intended behavior, emitted native artifacts, and behavior verified in a fresh harness.