agentera 0.0.0 → 3.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -45
- package/bundle/.agentera-npx-bundle.json +4 -0
- package/bundle/references/adapters/cursor.md +213 -0
- package/bundle/references/adapters/opencode.md +530 -0
- package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
- package/bundle/references/adapters/package-registry.yaml +247 -0
- package/bundle/references/adapters/package-surface-characterization.md +48 -0
- package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
- package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
- package/bundle/references/adapters/runtime-feature-parity.md +189 -0
- package/bundle/references/analysis/benchmark.md +267 -0
- package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +233 -0
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
- package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
- package/bundle/references/cli/capability-tool-classification.yaml +53 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
- package/bundle/references/cli/update-channels.yaml +120 -0
- package/bundle/references/cli/vocabulary-index.yaml +160 -0
- package/bundle/references/cli/vocabulary.md +562 -0
- package/bundle/references/meta/documentation-inventory.md +43 -0
- package/bundle/references/v1-section-mapping.md +47 -0
- package/bundle/registry.json +39 -0
- package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
- package/bundle/skills/agentera/SKILL.md +470 -0
- package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
- package/bundle/skills/agentera/agents/hej.toml +6 -0
- package/bundle/skills/agentera/agents/inspektera.toml +6 -0
- package/bundle/skills/agentera/agents/inspirera.toml +6 -0
- package/bundle/skills/agentera/agents/optimera.toml +6 -0
- package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
- package/bundle/skills/agentera/agents/planera.toml +6 -0
- package/bundle/skills/agentera/agents/profilera.toml +6 -0
- package/bundle/skills/agentera/agents/realisera.toml +6 -0
- package/bundle/skills/agentera/agents/resonera.toml +6 -0
- package/bundle/skills/agentera/agents/visionera.toml +6 -0
- package/bundle/skills/agentera/agents/visualisera.toml +6 -0
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
- package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
- package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
- package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
- package/bundle/skills/agentera/protocol.yaml +463 -0
- package/bundle/skills/agentera/references/contract.md +1039 -0
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
- package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
- package/bundle/skills/hej/SKILL.md +69 -0
- package/bundle/skills/hej/agents/hej.toml +11 -0
- package/bundle/skills/hej/agents/openai.yaml +8 -0
- package/dist/analytics/extractCorpus.js +1791 -0
- package/dist/analytics/extractCorpus.js.map +1 -0
- package/dist/analytics/usageStats.js +487 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/bin/agentera.js +4 -0
- package/dist/bin/agentera.js.map +1 -0
- package/dist/cli/appContext.js +226 -0
- package/dist/cli/appContext.js.map +1 -0
- package/dist/cli/argvalidate.js +41 -0
- package/dist/cli/argvalidate.js.map +1 -0
- package/dist/cli/capabilityContext.js +2421 -0
- package/dist/cli/capabilityContext.js.map +1 -0
- package/dist/cli/commands/backfill.js +84 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/capability.js +44 -0
- package/dist/cli/commands/capability.js.map +1 -0
- package/dist/cli/commands/compact.js +148 -0
- package/dist/cli/commands/compact.js.map +1 -0
- package/dist/cli/commands/doctor.js +180 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/lint.js +179 -0
- package/dist/cli/commands/lint.js.map +1 -0
- package/dist/cli/commands/prime.js +545 -0
- package/dist/cli/commands/prime.js.map +1 -0
- package/dist/cli/commands/query.js +346 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/report.js +210 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/schema.js +306 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/state.js +1012 -0
- package/dist/cli/commands/state.js.map +1 -0
- package/dist/cli/commands/upgrade.js +49 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.js +519 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.js +204 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/dispatch.js +962 -0
- package/dist/cli/dispatch.js.map +1 -0
- package/dist/cli/orientation.js +595 -0
- package/dist/cli/orientation.js.map +1 -0
- package/dist/cli/prime-blob.js +3 -0
- package/dist/cli/prime-blob.js.map +1 -0
- package/dist/cli/stateQuery.js +292 -0
- package/dist/cli/stateQuery.js.map +1 -0
- package/dist/cli/structured.js +18 -0
- package/dist/cli/structured.js.map +1 -0
- package/dist/core/difflib.js +274 -0
- package/dist/core/difflib.js.map +1 -0
- package/dist/core/git.js +43 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/paths.js +50 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/pyjson.js +101 -0
- package/dist/core/pyjson.js.map +1 -0
- package/dist/core/sourceRoot.js +72 -0
- package/dist/core/sourceRoot.js.map +1 -0
- package/dist/core/toml.js +11 -0
- package/dist/core/toml.js.map +1 -0
- package/dist/core/yaml.js +25 -0
- package/dist/core/yaml.js.map +1 -0
- package/dist/eval/evalSkills.js +258 -0
- package/dist/eval/evalSkills.js.map +1 -0
- package/dist/eval/semanticEval.js +148 -0
- package/dist/eval/semanticEval.js.map +1 -0
- package/dist/eval/semanticFixtures.js +227 -0
- package/dist/eval/semanticFixtures.js.map +1 -0
- package/dist/hooks/common.js +160 -0
- package/dist/hooks/common.js.map +1 -0
- package/dist/hooks/compaction.js +935 -0
- package/dist/hooks/compaction.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +19 -0
- package/dist/hooks/cursorPreToolUse.js.map +1 -0
- package/dist/hooks/cursorSessionStart.js +71 -0
- package/dist/hooks/cursorSessionStart.js.map +1 -0
- package/dist/hooks/sessionStart.js +209 -0
- package/dist/hooks/sessionStart.js.map +1 -0
- package/dist/hooks/sessionStop.js +212 -0
- package/dist/hooks/sessionStop.js.map +1 -0
- package/dist/hooks/validateArtifact.js +933 -0
- package/dist/hooks/validateArtifact.js.map +1 -0
- package/dist/registries/artifactRegistry.js +206 -0
- package/dist/registries/artifactRegistry.js.map +1 -0
- package/dist/registries/capabilityContract.js +310 -0
- package/dist/registries/capabilityContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +641 -0
- package/dist/registries/packageRegistry.js.map +1 -0
- package/dist/registries/runtimeAdapterRegistry.js +315 -0
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
- package/dist/setup/codex.js +1052 -0
- package/dist/setup/codex.js.map +1 -0
- package/dist/setup/copilot.js +227 -0
- package/dist/setup/copilot.js.map +1 -0
- package/dist/setup/cursor.js +127 -0
- package/dist/setup/cursor.js.map +1 -0
- package/dist/setup/doctor.js +1269 -0
- package/dist/setup/doctor.js.map +1 -0
- package/dist/state/installRoot.js +279 -0
- package/dist/state/installRoot.js.map +1 -0
- package/dist/state/progressCommit.js +289 -0
- package/dist/state/progressCommit.js.map +1 -0
- package/dist/state/startupAnalysis.js +1953 -0
- package/dist/state/startupAnalysis.js.map +1 -0
- package/dist/upgrade/appModel.js +189 -0
- package/dist/upgrade/appModel.js.map +1 -0
- package/dist/upgrade/channels.js +197 -0
- package/dist/upgrade/channels.js.map +1 -0
- package/dist/upgrade/compatibility.js +197 -0
- package/dist/upgrade/compatibility.js.map +1 -0
- package/dist/upgrade/doctor.js +368 -0
- package/dist/upgrade/doctor.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +412 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
- package/dist/upgrade/upgradeCommands.js +40 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +280 -0
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
- package/dist/validate/appHomeContract.js +150 -0
- package/dist/validate/appHomeContract.js.map +1 -0
- package/dist/validate/capability.js +412 -0
- package/dist/validate/capability.js.map +1 -0
- package/dist/validate/crossCapability.js +145 -0
- package/dist/validate/crossCapability.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +772 -0
- package/dist/validate/lifecycleAdapters.js.map +1 -0
- package/dist/validate/selfAudit.js +107 -0
- package/dist/validate/selfAudit.js.map +1 -0
- package/package.json +28 -8
- package/LICENSE +0 -201
- package/bin/agentera.mjs +0 -50
- package/lib/exec.mjs +0 -116
- package/lib/resolve.mjs +0 -129
|
@@ -0,0 +1,950 @@
|
|
|
1
|
+
interface: AgentReadyStateCli
|
|
2
|
+
status: design_contract
|
|
3
|
+
decision: 45
|
|
4
|
+
purpose: >-
|
|
5
|
+
Define the Agentera state CLI command vocabulary and agent-ready interface
|
|
6
|
+
boundaries before executable Decision 45 tasks implement doctor, structured
|
|
7
|
+
output, field selection, describe, and input hardening behavior.
|
|
8
|
+
sources:
|
|
9
|
+
decisions:
|
|
10
|
+
- .agentera/decisions.yaml#Decision-45
|
|
11
|
+
- .agentera/decisions.yaml#Decision-43
|
|
12
|
+
- .agentera/decisions.yaml#Decision-59
|
|
13
|
+
playbook: /home/jgabor/docs/agent-ready-interface-playbook.md
|
|
14
|
+
active_plan: .agentera/plan.yaml
|
|
15
|
+
linked_addenda:
|
|
16
|
+
audience_namespace_cli_migration:
|
|
17
|
+
path: references/cli/audience-namespace-cli-migration.yaml
|
|
18
|
+
status: target_design_contract
|
|
19
|
+
purpose: >-
|
|
20
|
+
Target CLI command tree, audience namespaces (`state`, `report`, `check`),
|
|
21
|
+
prime/hej and schema/describe migration boundaries, Decision 45 routine-state
|
|
22
|
+
alias policy, and `/agentera plan` versus `state plan` versus `planera` routing
|
|
23
|
+
distinction. Parser implementation is deferred to plan tasks 2–4.
|
|
24
|
+
principles:
|
|
25
|
+
- Keep the CLI state-oriented; capability routing remains a slash-command surface.
|
|
26
|
+
- Preserve stable routine state command names unless a task records an explicit migration.
|
|
27
|
+
- Prefer runtime structured output and introspection over static prompt stuffing.
|
|
28
|
+
- Validate agent-facing inputs at the CLI boundary before resolving paths or emitting partial output.
|
|
29
|
+
routine_state_commands:
|
|
30
|
+
status: stable
|
|
31
|
+
commands:
|
|
32
|
+
- hej
|
|
33
|
+
- plan
|
|
34
|
+
- progress
|
|
35
|
+
- health
|
|
36
|
+
- todo
|
|
37
|
+
- decisions
|
|
38
|
+
- docs
|
|
39
|
+
- objective
|
|
40
|
+
- experiments
|
|
41
|
+
- query
|
|
42
|
+
rationale: >-
|
|
43
|
+
Decision 45 explicitly preserves routine state command names. These commands
|
|
44
|
+
are the top-level state seam used by agents and docs; changing them would
|
|
45
|
+
break Decision 44's stable labels and Decision 39's query-CLI direction.
|
|
46
|
+
slash_route_aliases:
|
|
47
|
+
status: excluded_from_cli_commands
|
|
48
|
+
aliases:
|
|
49
|
+
status: hej
|
|
50
|
+
vision: visionera
|
|
51
|
+
discuss: resonera
|
|
52
|
+
research: inspirera
|
|
53
|
+
plan: planera
|
|
54
|
+
build: realisera
|
|
55
|
+
optimize: optimera
|
|
56
|
+
audit: inspektera
|
|
57
|
+
document: dokumentera
|
|
58
|
+
profile: profilera
|
|
59
|
+
design: visualisera
|
|
60
|
+
orchestrate: orkestrera
|
|
61
|
+
rationale: >-
|
|
62
|
+
Decision 43 aliases are exact `/agentera <alias>` routes, not CLI state
|
|
63
|
+
commands. Teaching `status`, `build`, `audit`, or `document` as CLI commands
|
|
64
|
+
would blur route vocabulary with state access; the shared word `plan` keeps
|
|
65
|
+
separate meanings as `/agentera plan` routing and `agentera plan` state.
|
|
66
|
+
doctor:
|
|
67
|
+
status: implemented_hard_rename
|
|
68
|
+
command: doctor
|
|
69
|
+
removed_command: bundle-status
|
|
70
|
+
compatibility_alias: forbidden
|
|
71
|
+
owns:
|
|
72
|
+
- Agentera CLI self-check status
|
|
73
|
+
- installed bundle status
|
|
74
|
+
- install-root status
|
|
75
|
+
- runtime adapter availability and configuration diagnostics
|
|
76
|
+
- hook, package, and schema availability checks when implemented
|
|
77
|
+
excludes:
|
|
78
|
+
- project artifact health
|
|
79
|
+
- codebase quality audit findings
|
|
80
|
+
- inspektera architecture, test, dependency, or documentation audit output
|
|
81
|
+
adjacent_surfaces:
|
|
82
|
+
project_artifact_health: agentera health
|
|
83
|
+
codebase_audit: /agentera audit routes to inspektera
|
|
84
|
+
setup_specific_diagnostics: packages/cli/src/setup/doctor.ts
|
|
85
|
+
rationale: >-
|
|
86
|
+
Decision 45 rejects `bundle-status` as too narrow and rejects an alias for
|
|
87
|
+
release-clean vocabulary. `doctor` is Agentera CLI/install/runtime
|
|
88
|
+
self-check vocabulary only; artifact health and codebase audits remain owned
|
|
89
|
+
by `agentera health` and inspektera.
|
|
90
|
+
schema:
|
|
91
|
+
status: implemented_runtime_introspection
|
|
92
|
+
command: schema
|
|
93
|
+
migration_alias:
|
|
94
|
+
command: describe
|
|
95
|
+
stderr: one-line deprecation naming schema
|
|
96
|
+
owns:
|
|
97
|
+
- command discovery
|
|
98
|
+
- filters and output format discovery
|
|
99
|
+
- structured output shapes
|
|
100
|
+
- field selection metadata
|
|
101
|
+
- Decision 43 slash-route alias descriptions
|
|
102
|
+
- artifact schema discovery
|
|
103
|
+
- doctor self-check categories
|
|
104
|
+
does_not_own:
|
|
105
|
+
- adding CLI commands for slash aliases
|
|
106
|
+
- replacing routine state commands
|
|
107
|
+
- claiming unavailable schema facts as implemented
|
|
108
|
+
rationale: >-
|
|
109
|
+
The playbook prioritizes runtime schema introspection so agents can discover
|
|
110
|
+
the current interface on demand. `schema` owns public discovery; `describe`
|
|
111
|
+
remains a stderr-deprecation alias during migration.
|
|
112
|
+
describe:
|
|
113
|
+
status: deprecated_alias_for_schema
|
|
114
|
+
command: describe
|
|
115
|
+
canonical_replacement: schema
|
|
116
|
+
rationale: >-
|
|
117
|
+
Deprecated alias retained for one minor release; agents and docs should use
|
|
118
|
+
`agentera schema`.
|
|
119
|
+
structured_output:
|
|
120
|
+
status: implemented_for_routine_state_commands
|
|
121
|
+
formats:
|
|
122
|
+
- json
|
|
123
|
+
- yaml
|
|
124
|
+
applies_to:
|
|
125
|
+
- hej
|
|
126
|
+
- plan
|
|
127
|
+
- progress
|
|
128
|
+
- health
|
|
129
|
+
- todo
|
|
130
|
+
- decisions
|
|
131
|
+
- docs
|
|
132
|
+
- objective
|
|
133
|
+
- experiments
|
|
134
|
+
excludes:
|
|
135
|
+
- adding new route-alias commands
|
|
136
|
+
- replacing human text output
|
|
137
|
+
- changing persisted artifact shapes
|
|
138
|
+
- selecting undocumented raw artifact fields
|
|
139
|
+
envelope:
|
|
140
|
+
routine_state_commands:
|
|
141
|
+
fields:
|
|
142
|
+
- command
|
|
143
|
+
- status
|
|
144
|
+
- entries
|
|
145
|
+
- counts
|
|
146
|
+
- source
|
|
147
|
+
- filters
|
|
148
|
+
- summary
|
|
149
|
+
- source_contract
|
|
150
|
+
status_values:
|
|
151
|
+
- ok
|
|
152
|
+
- empty
|
|
153
|
+
source_metadata:
|
|
154
|
+
- artifact
|
|
155
|
+
- path
|
|
156
|
+
- exists
|
|
157
|
+
- kind
|
|
158
|
+
source_contract:
|
|
159
|
+
plan:
|
|
160
|
+
status: implemented_complete_plan_artifact_envelope
|
|
161
|
+
fields:
|
|
162
|
+
- complete_for_plan_artifact
|
|
163
|
+
- complete_for_normal_startup_evaluation
|
|
164
|
+
- raw_artifact_reads_required
|
|
165
|
+
- raw_artifact_read_policy
|
|
166
|
+
- included_state
|
|
167
|
+
- complete_state
|
|
168
|
+
- raw_artifact_access_boundary
|
|
169
|
+
- missing_state
|
|
170
|
+
- fallback
|
|
171
|
+
- fallback_policy
|
|
172
|
+
- summary_fields
|
|
173
|
+
- entry_fields
|
|
174
|
+
complete_semantics: >-
|
|
175
|
+
When `complete_for_plan_artifact` is true, `agentera plan --format
|
|
176
|
+
json` includes plan summary metadata, tasks, dependencies, acceptance
|
|
177
|
+
criteria, evidence, overall acceptance, surprises, and previous-plan
|
|
178
|
+
archive references needed for normal read-only startup/evaluation
|
|
179
|
+
context; agents should skip defensive `.agentera/plan.yaml` reads.
|
|
180
|
+
Raw mapped plan artifact access remains valid for writes, archival,
|
|
181
|
+
validation, corruption diagnostics, or unavailable/incomplete CLI state
|
|
182
|
+
after CLI fallbacks. Legacy `entries`-shaped plan artifacts must not
|
|
183
|
+
report this complete state because they do not expose the current plan
|
|
184
|
+
summary/task/evidence envelope.
|
|
185
|
+
decisions:
|
|
186
|
+
status: implemented_normal_deliberation_envelope
|
|
187
|
+
fields:
|
|
188
|
+
- complete_for_returned_decisions
|
|
189
|
+
- complete_for_decision_context
|
|
190
|
+
- complete_for_returned_full_detail
|
|
191
|
+
- complete_for_normal_deliberation_context
|
|
192
|
+
- normal_deliberation_context
|
|
193
|
+
- decision_context_truth_table
|
|
194
|
+
- missing_full_detail_boundary
|
|
195
|
+
- missing_artifact_boundary
|
|
196
|
+
- filtered_result_boundary
|
|
197
|
+
- satisfaction_review_boundary
|
|
198
|
+
- compacted_history_boundary
|
|
199
|
+
- raw_artifact_access_boundary
|
|
200
|
+
- raw_artifact_reads_required
|
|
201
|
+
- raw_artifact_read_policy
|
|
202
|
+
- fallback_policy
|
|
203
|
+
complete_semantics: >-
|
|
204
|
+
`complete_for_decision_context` and
|
|
205
|
+
`complete_for_returned_full_detail` are full-detail signals and may be
|
|
206
|
+
false for compacted history, missing full-detail fields, or satisfaction
|
|
207
|
+
review pressure. Normal deliberation should key off
|
|
208
|
+
`complete_for_normal_deliberation_context`; when it is true, agents use
|
|
209
|
+
returned entries plus `missing_fields`, `compacted`, `caveats`, and
|
|
210
|
+
satisfaction review state without raw `.agentera/decisions.yaml` reads
|
|
211
|
+
or inference. Empty filtered results mean no returned decisions matched
|
|
212
|
+
the filter, not missing decision state. Missing artifacts make normal
|
|
213
|
+
deliberation context unavailable and enter CLI fallback/diagnostic
|
|
214
|
+
boundaries before any raw artifact repair.
|
|
215
|
+
raw_access_semantics: >-
|
|
216
|
+
Raw decision artifact access is reserved for Resonera-owned decision
|
|
217
|
+
writes/repairs, artifact corruption diagnostics, or CLI defect
|
|
218
|
+
investigation. It is not required merely because returned decisions are
|
|
219
|
+
compacted, incomplete, filtered, or require satisfaction review.
|
|
220
|
+
empty_state: >-
|
|
221
|
+
Missing or empty artifacts emit status=empty, entries=[], counts.entries=0,
|
|
222
|
+
and source.exists=false when the source file is absent.
|
|
223
|
+
hej:
|
|
224
|
+
fields:
|
|
225
|
+
- command
|
|
226
|
+
- status
|
|
227
|
+
- bundle
|
|
228
|
+
- mode
|
|
229
|
+
- profile
|
|
230
|
+
- v1_migration
|
|
231
|
+
- health
|
|
232
|
+
- issues
|
|
233
|
+
- plan
|
|
234
|
+
- docs
|
|
235
|
+
- progress
|
|
236
|
+
- objective
|
|
237
|
+
- state_presence
|
|
238
|
+
- attention
|
|
239
|
+
- decision_attention
|
|
240
|
+
- next_action
|
|
241
|
+
- orchestration_context
|
|
242
|
+
- closeout_context
|
|
243
|
+
- evidence_context
|
|
244
|
+
- benchmark_context
|
|
245
|
+
- execution_context
|
|
246
|
+
- source
|
|
247
|
+
- source_contract
|
|
248
|
+
source_contract:
|
|
249
|
+
capability_startup:
|
|
250
|
+
status: implemented_complete_startup_envelope
|
|
251
|
+
fields:
|
|
252
|
+
- complete_for_capability_startup
|
|
253
|
+
- raw_artifact_reads_required
|
|
254
|
+
- raw_artifact_read_policy
|
|
255
|
+
- available_state
|
|
256
|
+
- missing_state
|
|
257
|
+
- confidence_caveats
|
|
258
|
+
- cli_fallback
|
|
259
|
+
complete_semantics: >-
|
|
260
|
+
When complete_for_capability_startup is true, raw_artifact_reads_required
|
|
261
|
+
must be false and agents should not perform defensive raw artifact reads
|
|
262
|
+
for normal capability startup.
|
|
263
|
+
incomplete_semantics: >-
|
|
264
|
+
When startup state is incomplete, missing_state, confidence_caveats,
|
|
265
|
+
and cli_fallback must be explicit. Agents should try the named CLI
|
|
266
|
+
fallback commands before any last-resort raw artifact read.
|
|
267
|
+
capability_context_semantics: >-
|
|
268
|
+
Agentera 3.0 capability startup uses
|
|
269
|
+
`agentera prime --context <capability> --format json` as the sole
|
|
270
|
+
supported seam. The response emits only `command`, `status`, and
|
|
271
|
+
top-level `capability_context` as a startup capsule; its `state` block
|
|
272
|
+
owns declared read needs, included and missing state families, artifact
|
|
273
|
+
inventory, and `fallback_commands`, while its `context` block owns
|
|
274
|
+
capability-specific startup payloads and `first_invocation_read`.
|
|
275
|
+
Historical v2 paths `agentera hej --format json --capability-context`,
|
|
276
|
+
`--context-profile full`, and `--context-profile slim` are removed and
|
|
277
|
+
must not be taught as supported behavior.
|
|
278
|
+
planera_startup_context_semantics: >-
|
|
279
|
+
`agentera prime --context planera --format json` may include a bounded
|
|
280
|
+
`startup_contract` for normal Planera execution startup at
|
|
281
|
+
`capability_context.context.planning_context.startup_contract`. The
|
|
282
|
+
contract can summarize planning levels, step markers, CLI-first
|
|
283
|
+
orientation, raw plan artifact boundaries, full-plan review/self-audit
|
|
284
|
+
requirements, handoff expectations, and the Planera prose authority
|
|
285
|
+
boundary without reading `planera/instructions.md` at runtime. It must
|
|
286
|
+
not introduce `agentera planera`, new top-level commands, or hidden
|
|
287
|
+
capability-name aliases; `agentera schema` owns runtime/schema
|
|
288
|
+
introspection rather than a capability workflow payload.
|
|
289
|
+
orchestration_context_semantics: >-
|
|
290
|
+
`agentera prime --context orkestrera --format json` may include
|
|
291
|
+
orchestration_context with dependency-ready tasks, blocked task reasons,
|
|
292
|
+
selected next task, task acceptance/evidence summaries, caveats, fallback
|
|
293
|
+
commands, and a source contract. It must not introduce `agentera
|
|
294
|
+
orkestrera` or other capability-name CLI commands.
|
|
295
|
+
closeout_context_semantics: >-
|
|
296
|
+
`agentera prime --context dokumentera --format json` may include
|
|
297
|
+
closeout_context with artifact mappings, version policy, TODO blockers,
|
|
298
|
+
changelog boundary, progress evidence, benchmark evidence or an unavailable
|
|
299
|
+
caveat, local metadata/tag versus publication boundary state, fallback
|
|
300
|
+
commands, caveats, provenance pointers, non-empty evidence flags, and a
|
|
301
|
+
raw-read-last-resort source contract. It must not introduce `agentera
|
|
302
|
+
dokumentera`, new top-level commands, or new subcommands.
|
|
303
|
+
evidence_context_semantics: >-
|
|
304
|
+
`agentera prime --context inspektera --format json` may include
|
|
305
|
+
evidence_context with an evaluation target, plan criteria, progress
|
|
306
|
+
verification, docs state, health state, TODO state, protected-state and
|
|
307
|
+
version boundary status values, decision-context caveats, attributed
|
|
308
|
+
residual risks, fallback commands, caveats, provenance pointers, non-empty
|
|
309
|
+
evidence flags, and a raw-read-last-resort source contract. It must not
|
|
310
|
+
introduce `agentera inspektera`, new top-level commands, or new subcommands.
|
|
311
|
+
benchmark_context_semantics: >-
|
|
312
|
+
`agentera prime --context optimera --format json` may include
|
|
313
|
+
benchmark_context with retained startup benchmark source status, latest
|
|
314
|
+
report summary, aggregate history summary, runtime coverage caveats,
|
|
315
|
+
state-access rates, token-impact estimates, comparison null reasons,
|
|
316
|
+
recommendation action, manual-refresh guidance, privacy boundary,
|
|
317
|
+
fallback commands, and a raw-read-last-resort source contract. It must
|
|
318
|
+
not introduce `agentera optimera`, new top-level commands, or new subcommands.
|
|
319
|
+
execution_context_semantics: >-
|
|
320
|
+
`agentera prime --context realisera --format json` may include
|
|
321
|
+
execution_context with selected work, task details, acceptance criteria,
|
|
322
|
+
constraints, verification expectations, artifact update requirements,
|
|
323
|
+
progress logging requirements, changelog boundary, scope boundary,
|
|
324
|
+
fallback commands, caveats, read-only plan-completion sweep metadata,
|
|
325
|
+
and a raw-read-last-resort source contract. It must not introduce
|
|
326
|
+
`agentera realisera`, `agentera build`, new top-level commands, or new subcommands.
|
|
327
|
+
decision_attention_semantics: >-
|
|
328
|
+
`agentera prime --format json` may include one bounded `decision_attention`
|
|
329
|
+
payload when returned decisions require satisfaction review. The payload
|
|
330
|
+
derives from the same `_decision_context_entry` and
|
|
331
|
+
`_decision_satisfaction_context` semantics as `agentera decisions --format
|
|
332
|
+
json`, never infers satisfaction, never mutates `.agentera/decisions.yaml`,
|
|
333
|
+
keeps top-level attention bounded, and must not change `next_action`
|
|
334
|
+
routing priority.
|
|
335
|
+
evidence_context_target_contract: evidence_context_target_contract
|
|
336
|
+
current_status: complete
|
|
337
|
+
current_missing_state: []
|
|
338
|
+
empty_state: >-
|
|
339
|
+
Fresh projects emit mode=fresh with explicit plan/docs/progress absence
|
|
340
|
+
reasons, zero issue counts, source.artifacts_present=false, state_presence
|
|
341
|
+
absence metadata, and a caller-owned dashboard source_contract.
|
|
342
|
+
rationale: >-
|
|
343
|
+
The playbook calls for machine-readable output as a first-class path. Task 3
|
|
344
|
+
should add parseable routine output while keeping current command names and
|
|
345
|
+
useful human text output stable.
|
|
346
|
+
startup_completeness:
|
|
347
|
+
status: implemented_complete_startup_envelope
|
|
348
|
+
owning_command: prime
|
|
349
|
+
preserves_routine_state_commands: true
|
|
350
|
+
slash_route_alias_cli_commands_added: false
|
|
351
|
+
complete_output_requires:
|
|
352
|
+
complete_for_capability_startup: true
|
|
353
|
+
raw_artifact_reads_required: false
|
|
354
|
+
incomplete_output_requires:
|
|
355
|
+
- missing_state
|
|
356
|
+
- confidence_caveats
|
|
357
|
+
- cli_fallback
|
|
358
|
+
fallback_policy: >-
|
|
359
|
+
Incomplete startup state must point agents to existing routine state commands
|
|
360
|
+
before any raw artifact read. Complete startup state must never require raw
|
|
361
|
+
artifact reads for normal capability startup.
|
|
362
|
+
current_cli_fallback:
|
|
363
|
+
- agentera plan --format json
|
|
364
|
+
- agentera docs --format json
|
|
365
|
+
- agentera progress --format json
|
|
366
|
+
state_families_added:
|
|
367
|
+
- plan task details, dependencies, acceptance criteria, and evidence summaries
|
|
368
|
+
- docs artifact mapping and source-contract completeness metadata
|
|
369
|
+
- latest progress verification metadata needed for Orkestrera evaluation
|
|
370
|
+
- Optimera benchmark_context metadata for retained startup benchmark summaries
|
|
371
|
+
- Realisera execution_context metadata for plan-driven implementation startup
|
|
372
|
+
empty_state_behavior: >-
|
|
373
|
+
agentera prime reports absent plan, docs, and progress state explicitly through
|
|
374
|
+
structured summaries and state_presence absence metadata instead of forcing
|
|
375
|
+
artifact discovery. Top-level `agentera hej` remains a migration alias.
|
|
376
|
+
repair_guidance_behavior: >-
|
|
377
|
+
agentera prime carries stale app repair commands through bundle/app_home output and
|
|
378
|
+
v1 migration preview/apply commands through v1_migration output.
|
|
379
|
+
non_goals:
|
|
380
|
+
- Do not add Decision 43 slash-route aliases to the CLI command surface.
|
|
381
|
+
- Do not remove or rename routine state commands.
|
|
382
|
+
- Do not add a separate benchmark command; Optimera benchmark comparison stays inside benchmark_context.
|
|
383
|
+
evidence_context_target_contract:
|
|
384
|
+
status: task_1_design_contract
|
|
385
|
+
planned_context_name: evidence_context
|
|
386
|
+
planned_invocation: agentera prime --context inspektera --format json
|
|
387
|
+
implementation_status: implemented_provenance_and_boundary_contract
|
|
388
|
+
status_vocabulary:
|
|
389
|
+
protected_and_version_boundaries:
|
|
390
|
+
- verified_local
|
|
391
|
+
- not_checked_by_design
|
|
392
|
+
- requires_manual_check
|
|
393
|
+
- unavailable
|
|
394
|
+
inventory:
|
|
395
|
+
cli_first_sources:
|
|
396
|
+
- command: agentera prime --context orkestrera --format json
|
|
397
|
+
included_state:
|
|
398
|
+
- plan
|
|
399
|
+
- progress
|
|
400
|
+
- health
|
|
401
|
+
- todo
|
|
402
|
+
- docs
|
|
403
|
+
missing_state:
|
|
404
|
+
- decisions
|
|
405
|
+
- vision
|
|
406
|
+
- profile
|
|
407
|
+
fallback_commands:
|
|
408
|
+
- agentera decisions --format json
|
|
409
|
+
caveats:
|
|
410
|
+
- profile-derived state is stale and must not trigger profile refresh
|
|
411
|
+
- orchestration_context is incomplete for missing decisions, vision, and profile state
|
|
412
|
+
- command: agentera plan --format json
|
|
413
|
+
included_state:
|
|
414
|
+
- active plan header and summary
|
|
415
|
+
- task dependencies
|
|
416
|
+
- task statuses
|
|
417
|
+
- task acceptance criteria
|
|
418
|
+
- task evidence summaries
|
|
419
|
+
- previous_plan_archived pointer
|
|
420
|
+
missing_state: []
|
|
421
|
+
raw_artifact_reads_required: false
|
|
422
|
+
- command: agentera progress --format json
|
|
423
|
+
included_state:
|
|
424
|
+
- latest progress cycles
|
|
425
|
+
- latest verification text
|
|
426
|
+
- cycle provenance
|
|
427
|
+
missing_state:
|
|
428
|
+
- explicit retry-attempt count
|
|
429
|
+
raw_artifact_reads_required: false
|
|
430
|
+
- command: agentera docs --format json
|
|
431
|
+
included_state:
|
|
432
|
+
- artifact mapping
|
|
433
|
+
- version files
|
|
434
|
+
- semver policy
|
|
435
|
+
- indexed document freshness
|
|
436
|
+
missing_state: []
|
|
437
|
+
raw_artifact_reads_required: false
|
|
438
|
+
- command: agentera health --format json
|
|
439
|
+
included_state:
|
|
440
|
+
- latest audit
|
|
441
|
+
- dimension grades
|
|
442
|
+
- findings
|
|
443
|
+
- trajectory
|
|
444
|
+
missing_state: []
|
|
445
|
+
raw_artifact_reads_required: false
|
|
446
|
+
- command: agentera todo --format json
|
|
447
|
+
included_state:
|
|
448
|
+
- open 2.3.10 evidence-context TODO
|
|
449
|
+
- deferred 2.3.11 and 2.3.12 source-contract TODOs
|
|
450
|
+
- known open issues
|
|
451
|
+
missing_state: []
|
|
452
|
+
raw_artifact_reads_required: false
|
|
453
|
+
- command: agentera decisions --format json
|
|
454
|
+
included_state:
|
|
455
|
+
- decisions 51 and 52 with complete context
|
|
456
|
+
- compacted historical decision summaries
|
|
457
|
+
missing_state:
|
|
458
|
+
- full context for 40 compacted historical entries
|
|
459
|
+
raw_artifact_reads_required: false
|
|
460
|
+
caveats:
|
|
461
|
+
- compacted decisions expose missing_fields and caveats instead of reconstructed history
|
|
462
|
+
last_resort_raw_fallbacks:
|
|
463
|
+
- reason: archived previous-plan status is not exposed by routine CLI state
|
|
464
|
+
path: .agentera/archive/PLAN-2026-05-15-2-3-9-dokumentera-closeout-context-source-contract.yaml
|
|
465
|
+
verified_field: header.status=complete
|
|
466
|
+
- reason: Inspektera prose and schemas are validated directly; complete evidence_context covers normal evaluation startup without raw plan/progress/docs/health/TODO/decisions reads.
|
|
467
|
+
paths:
|
|
468
|
+
- skills/agentera/capabilities/inspektera/instructions.md
|
|
469
|
+
- skills/agentera/capabilities/inspektera/schemas/artifacts.yaml
|
|
470
|
+
- skills/agentera/capabilities/inspektera/schemas/validation.yaml
|
|
471
|
+
raw_artifact_reads_required_for_startup: false
|
|
472
|
+
stale_state_caveats:
|
|
473
|
+
- profile-derived state is stale; record as caveat and do not refresh profile
|
|
474
|
+
- installed app state, when stale or update-needed, is a caveat and not approval to run upgrade, repair, or refresh
|
|
475
|
+
archive_boundary:
|
|
476
|
+
previous_plan: .agentera/archive/PLAN-2026-05-15-2-3-9-dokumentera-closeout-context-source-contract.yaml
|
|
477
|
+
verified_header_status: complete
|
|
478
|
+
scope_decision: previous-plan archival is already handled by Planera activation and is not implementation scope for 2.3.10 Task 1
|
|
479
|
+
target_selection:
|
|
480
|
+
source: CLI state only during normal startup
|
|
481
|
+
no_raw_plan_or_progress_reads_required: true
|
|
482
|
+
selection_order:
|
|
483
|
+
- order: 1
|
|
484
|
+
selector: current in-progress plan task
|
|
485
|
+
selection_reason: in_progress_task
|
|
486
|
+
- order: 2
|
|
487
|
+
selector: first dependency-ready pending plan task from orchestration_context.selected_next_task or plan entries
|
|
488
|
+
selection_reason: first_dependency_ready_pending_task
|
|
489
|
+
- order: 3
|
|
490
|
+
selector: most recent completed plan task with non-empty evidence summary
|
|
491
|
+
selection_reason: latest_completed_task_with_evidence
|
|
492
|
+
- order: 4
|
|
493
|
+
selector: repository-level evidence context with no task target
|
|
494
|
+
selection_reason: no_plan_task_target
|
|
495
|
+
no_target_behavior:
|
|
496
|
+
status: no_target
|
|
497
|
+
complete_for_evidence_context: false
|
|
498
|
+
caveat: No plan task target was selected; evaluate repository-level evidence only and keep fallback commands visible.
|
|
499
|
+
raw_artifact_reads_required: false
|
|
500
|
+
required_target_fields:
|
|
501
|
+
- target_type
|
|
502
|
+
- target_number
|
|
503
|
+
- target_name
|
|
504
|
+
- target_status
|
|
505
|
+
- selection_reason
|
|
506
|
+
- source_provenance
|
|
507
|
+
- caveats
|
|
508
|
+
evidence_matrix:
|
|
509
|
+
required_for_normal_task_evaluation:
|
|
510
|
+
- family: evaluation_target
|
|
511
|
+
source: plan/orchestration CLI state
|
|
512
|
+
fallback: agentera plan --format json
|
|
513
|
+
- family: plan_criteria
|
|
514
|
+
source: agentera plan --format json entries.acceptance
|
|
515
|
+
fallback: none when complete_for_plan_artifact is true
|
|
516
|
+
- family: progress_verification
|
|
517
|
+
source: agentera progress --format json latest verification
|
|
518
|
+
fallback: agentera progress --format json
|
|
519
|
+
- family: docs_state
|
|
520
|
+
source: agentera docs --format json summary and entries
|
|
521
|
+
fallback: agentera docs --format json
|
|
522
|
+
- family: health_state
|
|
523
|
+
source: agentera health --format json latest audit
|
|
524
|
+
fallback: agentera health --format json
|
|
525
|
+
- family: todo_state
|
|
526
|
+
source: agentera todo --format json known issues and source-contract TODOs
|
|
527
|
+
fallback: agentera todo --format json
|
|
528
|
+
- family: source_contract
|
|
529
|
+
source: evidence_context.source_contract
|
|
530
|
+
fallback: listed existing CLI commands before raw reads
|
|
531
|
+
optional_or_caveated_for_normal_task_evaluation:
|
|
532
|
+
- family: decisions_context
|
|
533
|
+
source: agentera decisions --format json
|
|
534
|
+
caveat: compacted historical entries remain incomplete and must not be reconstructed from raw artifacts
|
|
535
|
+
- family: vision_context
|
|
536
|
+
source: hej startup only when included by capability context
|
|
537
|
+
caveat: missing vision is a caveat, not a raw-read requirement for normal evaluation startup
|
|
538
|
+
- family: profile_context
|
|
539
|
+
source: hej profile summary
|
|
540
|
+
caveat: stale or missing profile is a caveat, not approval to refresh or read profile directly during normal startup
|
|
541
|
+
- family: protected_state_checks
|
|
542
|
+
source: local CLI-visible evidence only
|
|
543
|
+
caveat: use statuses verified_local, not_checked_by_design, requires_manual_check, or unavailable
|
|
544
|
+
- family: version_checks
|
|
545
|
+
source: local docs/version state only
|
|
546
|
+
caveat: do not contact remotes, registries, installed apps, or profile generation
|
|
547
|
+
- family: publication_or_remote_state
|
|
548
|
+
source: none during normal evidence context
|
|
549
|
+
caveat: not_recorded_in_cli_state unless a supported local command explicitly exposes it
|
|
550
|
+
prohibited_actions:
|
|
551
|
+
- agentera inspektera
|
|
552
|
+
- adding new top-level CLI commands for this contract
|
|
553
|
+
- adding new subcommands for this contract
|
|
554
|
+
- refreshing installed app state
|
|
555
|
+
- refreshing profile state
|
|
556
|
+
- editing .agentera/vision.yaml
|
|
557
|
+
- editing objective state
|
|
558
|
+
field_selection:
|
|
559
|
+
status: implemented_sparse_response_layer
|
|
560
|
+
applies_after: structured_output
|
|
561
|
+
syntax: --fields FIELD[,FIELD...]
|
|
562
|
+
applies_to:
|
|
563
|
+
- hej
|
|
564
|
+
- plan
|
|
565
|
+
- progress
|
|
566
|
+
- health
|
|
567
|
+
- todo
|
|
568
|
+
- decisions
|
|
569
|
+
- docs
|
|
570
|
+
- objective
|
|
571
|
+
- experiments
|
|
572
|
+
fields_by_command:
|
|
573
|
+
routine_state_commands:
|
|
574
|
+
fields:
|
|
575
|
+
- command
|
|
576
|
+
- status
|
|
577
|
+
- entries
|
|
578
|
+
- counts
|
|
579
|
+
- source
|
|
580
|
+
- filters
|
|
581
|
+
- summary
|
|
582
|
+
- source_contract
|
|
583
|
+
hej:
|
|
584
|
+
fields:
|
|
585
|
+
- command
|
|
586
|
+
- status
|
|
587
|
+
- bundle
|
|
588
|
+
- mode
|
|
589
|
+
- profile
|
|
590
|
+
- v1_migration
|
|
591
|
+
- health
|
|
592
|
+
- issues
|
|
593
|
+
- plan
|
|
594
|
+
- docs
|
|
595
|
+
- progress
|
|
596
|
+
- objective
|
|
597
|
+
- state_presence
|
|
598
|
+
- attention
|
|
599
|
+
- decision_attention
|
|
600
|
+
- next_action
|
|
601
|
+
- orchestration_context
|
|
602
|
+
- closeout_context
|
|
603
|
+
- evidence_context
|
|
604
|
+
- benchmark_context
|
|
605
|
+
- execution_context
|
|
606
|
+
- source
|
|
607
|
+
- source_contract
|
|
608
|
+
retained_context:
|
|
609
|
+
- command
|
|
610
|
+
- status
|
|
611
|
+
owns:
|
|
612
|
+
- sparse selection over documented structured output fields
|
|
613
|
+
- clear unsupported-field errors with available fields
|
|
614
|
+
- required identity or status context retained in sparse responses
|
|
615
|
+
does_not_own:
|
|
616
|
+
- selecting arbitrary raw YAML artifact paths
|
|
617
|
+
- silently dropping unsupported fields
|
|
618
|
+
- changing default human text behavior
|
|
619
|
+
rationale: >-
|
|
620
|
+
The playbook treats context as currency. Field selection belongs on the
|
|
621
|
+
structured output contract from Task 3, not on raw artifact internals.
|
|
622
|
+
input_hardening:
|
|
623
|
+
status: implemented_boundary_validation
|
|
624
|
+
applies_to:
|
|
625
|
+
- artifact names
|
|
626
|
+
- field names
|
|
627
|
+
- output formats
|
|
628
|
+
- path-like values
|
|
629
|
+
- doctor roots
|
|
630
|
+
- upgrade roots
|
|
631
|
+
required_boundaries:
|
|
632
|
+
- reject unsupported identifiers with clear errors
|
|
633
|
+
- reject traversal and encoded traversal in path-like inputs
|
|
634
|
+
- reject control characters in agent-facing strings
|
|
635
|
+
- sandbox project artifact paths to project-owned or documented global roots
|
|
636
|
+
- preserve explicit approval flows before writes
|
|
637
|
+
does_not_own:
|
|
638
|
+
- mutating install roots without approval
|
|
639
|
+
- expanding artifact identity beyond the artifact registry and docs.yaml mapping rules
|
|
640
|
+
- response sanitization for externally ingested untrusted content
|
|
641
|
+
- typed protocol surfaces such as MCP or JSON-RPC
|
|
642
|
+
rationale: >-
|
|
643
|
+
The playbook warns that agents hallucinate structurally unsafe inputs. Task 6
|
|
644
|
+
should validate these boundaries without broadening the CLI command surface.
|
|
645
|
+
validate_namespace:
|
|
646
|
+
status: implemented
|
|
647
|
+
command: validate
|
|
648
|
+
purpose: >-
|
|
649
|
+
Define the supported `agentera validate` namespace so agents can use one
|
|
650
|
+
discoverable validation surface without guessing unsupported capability-name
|
|
651
|
+
CLI commands.
|
|
652
|
+
supported_target_families:
|
|
653
|
+
capability:
|
|
654
|
+
command_shape: agentera validate capability <capability-or-path> [--format text|json]
|
|
655
|
+
required_inputs:
|
|
656
|
+
- capability-or-path: canonical capability name or capability directory path
|
|
657
|
+
valid_capability_names:
|
|
658
|
+
- hej
|
|
659
|
+
- visionera
|
|
660
|
+
- resonera
|
|
661
|
+
- inspirera
|
|
662
|
+
- planera
|
|
663
|
+
- realisera
|
|
664
|
+
- optimera
|
|
665
|
+
- inspektera
|
|
666
|
+
- dokumentera
|
|
667
|
+
- profilera
|
|
668
|
+
- visualisera
|
|
669
|
+
- orkestrera
|
|
670
|
+
output_formats:
|
|
671
|
+
- text
|
|
672
|
+
- json
|
|
673
|
+
expected_examples:
|
|
674
|
+
- agentera validate capability hej
|
|
675
|
+
- agentera validate capability skills/agentera/capabilities/hej --format json
|
|
676
|
+
validation_engine: agentera check validate capability
|
|
677
|
+
compatibility_constraint: >-
|
|
678
|
+
`agentera check validate capability skills/agentera/capabilities/<name>` and
|
|
679
|
+
`agentera check validate capability --self-validate` remain supported direct
|
|
680
|
+
validator commands with their existing observable behavior.
|
|
681
|
+
artifact:
|
|
682
|
+
command_shape: agentera validate artifact --artifact <ARTIFACT> [--file <PATH>] [--cwd <PROJECT>] [--format text|json]
|
|
683
|
+
required_inputs:
|
|
684
|
+
- artifact: canonical artifact label
|
|
685
|
+
optional_inputs:
|
|
686
|
+
- file: artifact file path; defaults through docs.yaml mapping when omitted
|
|
687
|
+
- cwd: project directory for relative paths and docs.yaml mapping
|
|
688
|
+
valid_artifacts:
|
|
689
|
+
- CHANGELOG.md
|
|
690
|
+
- DECISIONS.md
|
|
691
|
+
- DESIGN.md
|
|
692
|
+
- DOCS.md
|
|
693
|
+
- HEALTH.md
|
|
694
|
+
- PLAN.md
|
|
695
|
+
- PROGRESS.md
|
|
696
|
+
- TODO.md
|
|
697
|
+
- VISION.md
|
|
698
|
+
output_formats:
|
|
699
|
+
- text
|
|
700
|
+
- json
|
|
701
|
+
expected_examples:
|
|
702
|
+
- agentera validate artifact --artifact PLAN.md --file .agentera/plan.yaml --format json
|
|
703
|
+
- agentera validate artifact --artifact PROGRESS.md --format text
|
|
704
|
+
validation_engine: hooks/validate_artifact.py
|
|
705
|
+
compatibility_constraint: >-
|
|
706
|
+
`hooks/validate_artifact.py --artifact <ARTIFACT> --file <PATH> --format
|
|
707
|
+
text|json` remains a supported direct validator command with existing
|
|
708
|
+
docs.yaml mapping, JSON envelope, violation wording, and hook behavior.
|
|
709
|
+
invalid_input_behavior:
|
|
710
|
+
family_error: >-
|
|
711
|
+
Unsupported validate target families must name the valid families
|
|
712
|
+
`capability` and `artifact`, show the correct syntax, and include one
|
|
713
|
+
concrete capability example plus one concrete artifact example.
|
|
714
|
+
capability_error: >-
|
|
715
|
+
Unsupported capability targets must list valid capability names, show
|
|
716
|
+
`agentera validate capability <capability-or-path> [--format text|json]`,
|
|
717
|
+
and include `agentera validate capability hej` as an example.
|
|
718
|
+
artifact_error: >-
|
|
719
|
+
Unsupported artifact labels must list canonical artifact labels, show
|
|
720
|
+
`agentera validate artifact --artifact <ARTIFACT> [--file <PATH>] [--format text|json]`,
|
|
721
|
+
and include `agentera validate artifact --artifact PLAN.md --file .agentera/plan.yaml --format json`
|
|
722
|
+
as an example.
|
|
723
|
+
format_error: >-
|
|
724
|
+
Unsupported formats must list valid values `text` and `json` and must not
|
|
725
|
+
fall back silently to a different format.
|
|
726
|
+
output_contract:
|
|
727
|
+
text: >-
|
|
728
|
+
Human-readable output may mirror the existing validator text, including
|
|
729
|
+
PASS/FAILED summaries and violation lines.
|
|
730
|
+
json: >-
|
|
731
|
+
JSON output must use a stable validation result envelope with command,
|
|
732
|
+
status, target_family, target, file or path metadata when applicable, and
|
|
733
|
+
violations or errors. Artifact JSON should preserve the existing
|
|
734
|
+
`validate-artifact` semantics unless a compatibility-preserving wrapper
|
|
735
|
+
field is explicitly added in the implementation task.
|
|
736
|
+
status_values:
|
|
737
|
+
- pass
|
|
738
|
+
- fail
|
|
739
|
+
non_goals:
|
|
740
|
+
- Do not implement `agentera validate` behavior in Task 1.
|
|
741
|
+
- Do not add capability-name CLI commands such as `agentera realisera`.
|
|
742
|
+
- Do not replace or remove `agentera check validate capability`.
|
|
743
|
+
- Do not replace or remove `hooks/validate_artifact.py`.
|
|
744
|
+
- Do not rename artifact labels, capability names, or schema contract groups.
|
|
745
|
+
- Do not implement D48 smoke, verify, corpus, or usage namespaces.
|
|
746
|
+
- Do not redesign validation semantics or persisted artifact shapes.
|
|
747
|
+
evidence_sources:
|
|
748
|
+
- agentera --help exposes the validate namespace for capability and artifact validation.
|
|
749
|
+
- agentera check validate capability --help defines capability_dir, --self-validate, --validate-protocol, and --check-primitives.
|
|
750
|
+
- hooks/validate_artifact.py --help defines --artifact, --file, --cwd, and --format text|json.
|
|
751
|
+
- hooks/validate_artifact.py invalid artifact JSON lists valid canonical artifact labels.
|
|
752
|
+
verify_namespace:
|
|
753
|
+
status: implemented_with_task_3_coverage
|
|
754
|
+
command: verify
|
|
755
|
+
rejected_umbrella_command: smoke
|
|
756
|
+
purpose: >-
|
|
757
|
+
Define the supported `agentera verify` namespace so agents can run or inspect
|
|
758
|
+
smoke and eval gates through one discoverable verification surface without
|
|
759
|
+
guessing direct script names or unsupported capability-name CLI commands.
|
|
760
|
+
namespace_rationale: >-
|
|
761
|
+
`agentera verify` is the public command for the evaluation gates (skills and
|
|
762
|
+
semantic). The smoke-check family was retired in the self-contained package.
|
|
763
|
+
command_shape: agentera verify <family> <target> [--format text|json] [target options]
|
|
764
|
+
supported_gate_families:
|
|
765
|
+
eval:
|
|
766
|
+
command_shape: agentera verify eval <target> [--format text|json] [target options]
|
|
767
|
+
valid_targets:
|
|
768
|
+
skills:
|
|
769
|
+
direct_entrypoint: in-process eval engine (packages/cli/src/eval/evalSkills.ts)
|
|
770
|
+
expected_default_behavior: >-
|
|
771
|
+
Skill eval verification runs the in-process eval-skills engine. Any
|
|
772
|
+
runtime-backed eval work is host-dependent and must be
|
|
773
|
+
explicitly opted in or bounded through existing dry-run, runtime, timeout,
|
|
774
|
+
skill, and parallel controls.
|
|
775
|
+
safety_requirements:
|
|
776
|
+
- Default verify behavior must not start long-running runtime-backed evals without explicit opt-in or a documented bounded mode.
|
|
777
|
+
- Runtime-backed runs must retain per-skill timeout and concurrency bounds.
|
|
778
|
+
- Dry-run listing remains available for safe discovery.
|
|
779
|
+
semantic:
|
|
780
|
+
direct_entrypoint: in-process semantic engine (packages/cli/src/eval/semanticEval.ts)
|
|
781
|
+
expected_default_behavior: >-
|
|
782
|
+
Offline semantic fixture evaluation remains the direct compatibility
|
|
783
|
+
surface. Verify must require explicit fixture paths or a documented bounded
|
|
784
|
+
fixture selection; it must not scan broad corpora by default.
|
|
785
|
+
safety_requirements:
|
|
786
|
+
- Offline fixture evaluation only by default.
|
|
787
|
+
- Missing or broad fixture input fails with bounded guidance instead of starting an unbounded search.
|
|
788
|
+
output_formats:
|
|
789
|
+
- text
|
|
790
|
+
- json
|
|
791
|
+
expected_examples:
|
|
792
|
+
- agentera verify eval skills --format json
|
|
793
|
+
- agentera verify eval skills --dry-run --format json
|
|
794
|
+
- agentera verify eval semantic fixtures/semantic/hej-bare-message.md
|
|
795
|
+
- agentera verify eval semantic fixtures/semantic/hej-bare-message.md --format json
|
|
796
|
+
output_contract:
|
|
797
|
+
text: >-
|
|
798
|
+
Human-readable output must identify the verify family, target, status, direct
|
|
799
|
+
engine used, and bounded diagnostics. It may mirror existing direct script PASS
|
|
800
|
+
or FAIL wording when that preserves compatibility.
|
|
801
|
+
json: >-
|
|
802
|
+
JSON output must use a stable verification result envelope with command,
|
|
803
|
+
status, family, target, format, engine command, exit_code, diagnostics, and
|
|
804
|
+
safety/opt-in metadata when applicable. Raw runtime transcripts, credentials,
|
|
805
|
+
private paths beyond explicit command inputs, and unbounded logs are excluded.
|
|
806
|
+
status_values:
|
|
807
|
+
- pass
|
|
808
|
+
- fail
|
|
809
|
+
- invalid
|
|
810
|
+
- skipped
|
|
811
|
+
invalid_input_behavior:
|
|
812
|
+
family_error: >-
|
|
813
|
+
Unknown verify families must exit nonzero, list valid families `smoke` and
|
|
814
|
+
`eval`, show `agentera verify <family> <target> [--format text|json]`, and
|
|
815
|
+
include concrete examples for one smoke target and one eval target.
|
|
816
|
+
target_error: >-
|
|
817
|
+
Unknown targets must exit nonzero, list valid targets for the selected family,
|
|
818
|
+
show the correct family syntax, and include one concrete example for that family.
|
|
819
|
+
format_error: >-
|
|
820
|
+
Unknown formats must exit nonzero, list valid values `text` and `json`, show
|
|
821
|
+
syntax using `--format text|json`, and must not silently fall back to another format.
|
|
822
|
+
unsafe_live_default_error: >-
|
|
823
|
+
Requests that would run live, host-dependent, mutating, or long-running gates
|
|
824
|
+
without required opt-in must exit nonzero with bounded diagnostics explaining
|
|
825
|
+
the missing opt-in, the safe default, valid opt-in flags or environment contract,
|
|
826
|
+
correct syntax, and a concrete explicitly bounded example.
|
|
827
|
+
compatibility_constraints:
|
|
828
|
+
- >-
|
|
829
|
+
`agentera verify eval skills` remains callable directly with existing `--skill`,
|
|
830
|
+
`--dry-run`, `--parallel`, `--timeout`, and `--runtime` behavior.
|
|
831
|
+
- >-
|
|
832
|
+
`agentera verify eval semantic` remains callable directly with fixture path arguments
|
|
833
|
+
and existing offline semantic fixture behavior.
|
|
834
|
+
offline default behavior plus the explicit `--real-npx` opt-in path.
|
|
835
|
+
default behavior and explicit `--live`/`--yes` live-host opt-in behavior.
|
|
836
|
+
observable smoke-check behavior, including current non-argparse `--help` behavior.
|
|
837
|
+
observable local bootstrap diagnostics and failure behavior.
|
|
838
|
+
non_goals:
|
|
839
|
+
- Do not add unsupported capability-name CLI commands such as `agentera realisera` or `agentera orkestrera`.
|
|
840
|
+
- Do not reintroduce the retired smoke gate-family.
|
|
841
|
+
- Do not implement D48 `validate`, `corpus`, or `usage` work.
|
|
842
|
+
- Do not run live network, installed-app mutation, profile refresh, publication, push, tag, or package-update flows as part of this contract definition.
|
|
843
|
+
evidence_sources:
|
|
844
|
+
- agentera --help exposes the `verify` namespace and safe smoke/eval examples.
|
|
845
|
+
- the verify vitest tests (packages/cli/test/cli/verify.test.ts) covers smoke success, eval success, text output, JSON output, invalid input feedback, safety boundaries, and preserved direct-script compatibility.
|
|
846
|
+
- agentera verify eval skills --help defines `--skill`, `--dry-run`, `--parallel`, `--timeout`, and `--runtime`.
|
|
847
|
+
- agentera verify eval semantic --help defines fixture path inputs for offline semantic evaluation.
|
|
848
|
+
usage_namespace:
|
|
849
|
+
status: implemented
|
|
850
|
+
command: usage
|
|
851
|
+
rejected_namespace_command: corpus
|
|
852
|
+
purpose: >-
|
|
853
|
+
Define the supported `agentera usage` namespace so agents can run suite usage
|
|
854
|
+
analytics through one discoverable CLI surface without guessing the direct
|
|
855
|
+
analytics script or conflating reporting with corpus extraction.
|
|
856
|
+
namespace_rationale: >-
|
|
857
|
+
`agentera usage` is the selected public command because the existing product is
|
|
858
|
+
usage analytics and USAGE.md reporting. `agentera corpus` is rejected for this
|
|
859
|
+
plan because it implies corpus extraction or lifecycle management, which belongs
|
|
860
|
+
to profilera/Section 22 tooling rather than usage reporting.
|
|
861
|
+
command_shape: agentera usage [--format text|json] [--corpus PATH] [--project VALUE]
|
|
862
|
+
direct_entrypoint: agentera usage
|
|
863
|
+
supported_options:
|
|
864
|
+
format:
|
|
865
|
+
values:
|
|
866
|
+
- text
|
|
867
|
+
- json
|
|
868
|
+
default: text
|
|
869
|
+
text_behavior: >-
|
|
870
|
+
Delegates to `agentera usage`, writes USAGE.md to the existing report
|
|
871
|
+
destination, and prints the existing bounded stdout summary.
|
|
872
|
+
json_behavior: >-
|
|
873
|
+
Delegates to `agentera usage --json`, preserves the existing top-level
|
|
874
|
+
analytics payload, and does not write USAGE.md.
|
|
875
|
+
corpus:
|
|
876
|
+
syntax: --corpus PATH
|
|
877
|
+
behavior: >-
|
|
878
|
+
Uses the supplied Section 22 corpus.json envelope. When omitted, default
|
|
879
|
+
corpus lookup remains owned by `agentera usage` and follows
|
|
880
|
+
`PROFILERA_PROFILE_DIR/intermediate/corpus.json` before platform data-home
|
|
881
|
+
defaults.
|
|
882
|
+
project:
|
|
883
|
+
syntax: --project VALUE
|
|
884
|
+
behavior: >-
|
|
885
|
+
Scopes analytics using the direct script's project matching behavior.
|
|
886
|
+
Unmatched values are valid and produce an empty scoped report rather than a
|
|
887
|
+
nonzero invalid-input error.
|
|
888
|
+
output_contract:
|
|
889
|
+
text: >-
|
|
890
|
+
Human-readable output preserves the direct script's summary lines, including
|
|
891
|
+
scope, skill count, invocation totals, report path, run timestamp, and corpus
|
|
892
|
+
extraction timestamp.
|
|
893
|
+
json: >-
|
|
894
|
+
JSON output preserves the direct script analytics payload with top-level
|
|
895
|
+
`generated_at`, `extracted_at`, `project_filter`, `skills`, `per_project`, and
|
|
896
|
+
`invocations` fields. It is intentionally not wrapped in a facade envelope.
|
|
897
|
+
path_contract:
|
|
898
|
+
report_precedence:
|
|
899
|
+
- AGENTERA_USAGE_DIR/USAGE.md
|
|
900
|
+
- PROFILERA_PROFILE_DIR/USAGE.md
|
|
901
|
+
- platform data home agentera/USAGE.md
|
|
902
|
+
corpus_precedence:
|
|
903
|
+
- PROFILERA_PROFILE_DIR/intermediate/corpus.json
|
|
904
|
+
- platform data home agentera/intermediate/corpus.json
|
|
905
|
+
test_isolation: >-
|
|
906
|
+
Facade tests that exercise default text writes must set temporary
|
|
907
|
+
`AGENTERA_USAGE_DIR` and `PROFILERA_PROFILE_DIR` values and must not write the
|
|
908
|
+
real user data home.
|
|
909
|
+
invalid_input_behavior:
|
|
910
|
+
format_error: >-
|
|
911
|
+
Unknown formats must exit nonzero, list valid values `text` and `json`, show
|
|
912
|
+
`agentera usage [--format text|json] [--corpus PATH] [--project VALUE]`, and
|
|
913
|
+
include one concrete example.
|
|
914
|
+
missing_corpus: >-
|
|
915
|
+
Missing or unusable corpus data preserves `agentera usage` actionable
|
|
916
|
+
guidance and must not auto-build corpus data, refresh profiles, scan home
|
|
917
|
+
directories, or run live host extraction.
|
|
918
|
+
project_filter: >-
|
|
919
|
+
Unmatched `--project` values are valid empty reports. Diagnostics must not list
|
|
920
|
+
private corpus-derived project IDs as valid values.
|
|
921
|
+
compatibility_constraints:
|
|
922
|
+
- >-
|
|
923
|
+
`agentera usage` remains callable directly with existing `--json`,
|
|
924
|
+
`--corpus`, and `--project` behavior.
|
|
925
|
+
- >-
|
|
926
|
+
JSON consumers continue to receive the existing direct analytics payload shape
|
|
927
|
+
without a namespace wrapper envelope.
|
|
928
|
+
- >-
|
|
929
|
+
Default text behavior continues to write USAGE.md only through the existing
|
|
930
|
+
usage report destination rules.
|
|
931
|
+
non_goals:
|
|
932
|
+
- Do not add `agentera corpus` in this plan.
|
|
933
|
+
- Do not build or refresh corpus data.
|
|
934
|
+
- Do not refresh PROFILE.md or run profilera.
|
|
935
|
+
- Do not run live host scans or mine home directories beyond direct script path lookup.
|
|
936
|
+
- Do not remove, rename, or redesign `agentera usage`.
|
|
937
|
+
- Do not add unsupported capability-name CLI commands.
|
|
938
|
+
- Do not implement additional D48 validate, verify, or corpus namespace work.
|
|
939
|
+
evidence_sources:
|
|
940
|
+
- agentera --help exposes the `usage` namespace and a JSON example.
|
|
941
|
+
- the usage/report vitest tests covers text output, JSON output, corpus/project flags, missing-corpus guidance, invalid format, help discovery, test path isolation, and direct-script compatibility.
|
|
942
|
+
- the usageStats vitest tests remains the direct analytics engine coverage.
|
|
943
|
+
non_goals_for_task_1:
|
|
944
|
+
- Do not rename bundle-status to doctor.
|
|
945
|
+
- Do not add doctor behavior.
|
|
946
|
+
- Do not add describe behavior.
|
|
947
|
+
- Do not add structured output behavior.
|
|
948
|
+
- Do not add field selection behavior.
|
|
949
|
+
- Do not harden executable inputs.
|
|
950
|
+
- Do not mark Task 1 complete in .agentera/plan.yaml.
|