agentera 3.0.0-dev.2 → 3.0.0-dev.21
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 +84 -6
- package/bundle/.agentera-npx-bundle.json +1 -1
- package/bundle/.codex-plugin/plugin.json +92 -0
- package/bundle/.cursor/agents/agentera.md +7 -0
- package/bundle/.cursor/hooks.json +32 -0
- package/bundle/.cursor-plugin/plugin.json +34 -0
- package/bundle/.github/hooks/postToolUse.json +9 -0
- package/bundle/.github/hooks/preToolUse.json +8 -0
- package/bundle/.github/hooks/sessionEnd.json +8 -0
- package/bundle/.github/hooks/sessionStart.json +8 -0
- package/bundle/.github/plugin/plugin.json +7 -0
- package/bundle/.opencode/agents/agentera.md +12 -0
- package/bundle/.opencode/commands/agentera.md +5 -0
- package/bundle/.opencode/package.json +31 -0
- package/bundle/.opencode/plugins/agentera.js +820 -0
- package/bundle/CHANGELOG.md +1101 -0
- package/bundle/DESIGN.md +233 -0
- package/bundle/LICENSE +201 -0
- package/bundle/README.md +158 -0
- package/bundle/UPGRADE.md +265 -0
- package/bundle/agents/openai.yaml +87 -0
- package/bundle/extract-corpus-parity.json +21 -0
- package/bundle/hooks/codex-hooks.json +31 -0
- package/bundle/hooks/codex-plugin-hooks.json +31 -0
- package/bundle/plugin.json +13 -0
- package/bundle/references/adapters/cursor.md +53 -42
- package/bundle/references/adapters/opencode.md +46 -47
- package/bundle/references/adapters/package-manifest-interface-model.yaml +32 -43
- package/bundle/references/adapters/package-registry.yaml +19 -53
- package/bundle/references/adapters/package-surface-characterization.md +55 -35
- package/bundle/references/adapters/runtime-adapter-characterization.md +44 -79
- package/bundle/references/adapters/runtime-adapter-registry.yaml +21 -182
- package/bundle/references/adapters/runtime-feature-parity.md +114 -174
- package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +288 -0
- package/bundle/references/adapters/runtime-lifecycle-authority.yaml +90 -0
- package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
- package/bundle/references/adapters/runtime-retired-resources.yaml +33 -0
- package/bundle/references/analysis/benchmark.md +6 -6
- package/bundle/references/analysis/startup-measurement-contract.yaml +37 -26
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +9 -8
- package/bundle/references/artifacts/state-storage-authority.yaml +1446 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +37 -62
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +57 -28
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +4 -32
- package/bundle/references/cli/capability-instruction-contract.yaml +98 -57
- package/bundle/references/cli/capability-instruction-structure.md +144 -0
- package/bundle/references/cli/capability-tool-classification.yaml +12 -12
- package/bundle/references/cli/coexistence-probe.yaml +13 -0
- package/bundle/references/cli/parity-expected-actual-template.md +30 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +12 -12
- package/bundle/references/cli/routing-model.md +94 -0
- package/bundle/references/cli/single-name-protocol.yaml +42 -0
- package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
- package/bundle/references/cli/update-channels.yaml +43 -7
- package/bundle/references/cli/upgrade-repair-wording.md +45 -0
- package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
- package/bundle/references/cli/vocabulary-index.yaml +20 -15
- package/bundle/references/cli/vocabulary.md +342 -326
- package/bundle/references/meta/documentation-inventory.md +10 -3
- package/bundle/registry.json +14 -14
- package/bundle/skills/agentera/SKILL.md +136 -408
- package/bundle/skills/agentera/agents/audit.toml +6 -0
- package/bundle/skills/agentera/agents/build.toml +6 -0
- package/bundle/skills/agentera/agents/design.toml +6 -0
- package/bundle/skills/agentera/agents/discuss.toml +6 -0
- package/bundle/skills/agentera/agents/document.toml +6 -0
- package/bundle/skills/agentera/agents/optimize.toml +6 -0
- package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
- package/bundle/skills/agentera/agents/plan.toml +6 -0
- package/bundle/skills/agentera/agents/profile.toml +6 -0
- package/bundle/skills/agentera/agents/research.toml +6 -0
- package/bundle/skills/agentera/agents/status.toml +6 -0
- package/bundle/skills/agentera/agents/vision.toml +6 -0
- package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +84 -0
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +20 -19
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +22 -17
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +3 -3
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +11 -11
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +5 -5
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +7 -7
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +49 -0
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +9 -8
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +23 -16
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -4
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +18 -18
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +9 -9
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +9 -9
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +71 -0
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +120 -0
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +63 -0
- package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +89 -0
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +3 -3
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
- package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +12 -8
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +19 -5
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +18 -20
- package/bundle/skills/agentera/capability_schema_contract.yaml +201 -38
- package/bundle/skills/agentera/protocol.yaml +29 -29
- package/bundle/skills/agentera/references/contract.md +387 -329
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +25 -20
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +139 -8
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +21 -15
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +22 -8
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +285 -11
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +36 -51
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +77 -24
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
- package/dist/analytics/extractCorpus/cli.js +163 -0
- package/dist/analytics/extractCorpus/cli.js.map +1 -0
- package/dist/analytics/extractCorpus/copilotSessions.js +276 -0
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/core.js +393 -0
- package/dist/analytics/extractCorpus/core.js.map +1 -0
- package/dist/analytics/extractCorpus/corpus.js +168 -0
- package/dist/analytics/extractCorpus/corpus.js.map +1 -0
- package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
- package/dist/analytics/extractCorpus/cursorSessions.js +426 -0
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
- package/dist/analytics/extractCorpus/filesystemSources.js +119 -0
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
- package/dist/analytics/extractCorpus/index.js +12 -0
- package/dist/analytics/extractCorpus/index.js.map +1 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js +205 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
- package/dist/analytics/extractCorpus.js +2 -1790
- package/dist/analytics/extractCorpus.js.map +1 -1
- package/dist/analytics/usageStats.js +93 -27
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/bin/agentera.js +3 -1
- package/dist/bin/agentera.js.map +1 -1
- package/dist/capabilities/audit/instructions.js +4 -0
- package/dist/capabilities/audit/instructions.js.map +1 -0
- package/dist/capabilities/build/instructions.js +5 -0
- package/dist/capabilities/build/instructions.js.map +1 -0
- package/dist/capabilities/design/instructions.js +5 -0
- package/dist/capabilities/design/instructions.js.map +1 -0
- package/dist/capabilities/discuss/instructions.js +6 -0
- package/dist/capabilities/discuss/instructions.js.map +1 -0
- package/dist/capabilities/document/instructions.js +4 -0
- package/dist/capabilities/document/instructions.js.map +1 -0
- package/dist/capabilities/index.js +38 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/optimize/instructions.js +5 -0
- package/dist/capabilities/optimize/instructions.js.map +1 -0
- package/dist/capabilities/orchestrate/instructions.js +10 -0
- package/dist/capabilities/orchestrate/instructions.js.map +1 -0
- package/dist/capabilities/plan/instructions.js +6 -0
- package/dist/capabilities/plan/instructions.js.map +1 -0
- package/dist/capabilities/profile/instructions.js +5 -0
- package/dist/capabilities/profile/instructions.js.map +1 -0
- package/dist/capabilities/research/instructions.js +6 -0
- package/dist/capabilities/research/instructions.js.map +1 -0
- package/dist/capabilities/status/instructions.js +5 -0
- package/dist/capabilities/status/instructions.js.map +1 -0
- package/dist/capabilities/vision/instructions.js +5 -0
- package/dist/capabilities/vision/instructions.js.map +1 -0
- package/dist/cli/appContext.js +30 -23
- package/dist/cli/appContext.js.map +1 -1
- package/dist/cli/capabilityContext/benchmark.js +564 -0
- package/dist/cli/capabilityContext/benchmark.js.map +1 -0
- package/dist/cli/capabilityContext/bespoke.js +38 -0
- package/dist/cli/capabilityContext/bespoke.js.map +1 -0
- package/dist/cli/capabilityContext/build.js +191 -0
- package/dist/cli/capabilityContext/build.js.map +1 -0
- package/dist/cli/capabilityContext/closeout.js +231 -0
- package/dist/cli/capabilityContext/closeout.js.map +1 -0
- package/dist/cli/capabilityContext/contract.js +219 -0
- package/dist/cli/capabilityContext/contract.js.map +1 -0
- package/dist/cli/capabilityContext/evidence.js +457 -0
- package/dist/cli/capabilityContext/evidence.js.map +1 -0
- package/dist/cli/capabilityContext/index.js +4 -0
- package/dist/cli/capabilityContext/index.js.map +1 -0
- package/dist/cli/capabilityContext/orchestration.js +118 -0
- package/dist/cli/capabilityContext/orchestration.js.map +1 -0
- package/dist/cli/capabilityContext/planState.js +279 -0
- package/dist/cli/capabilityContext/planState.js.map +1 -0
- package/dist/cli/capabilityContext/progress.js +143 -0
- package/dist/cli/capabilityContext/progress.js.map +1 -0
- package/dist/cli/capabilityContext/shared.js +94 -0
- package/dist/cli/capabilityContext/shared.js.map +1 -0
- package/dist/cli/capabilityContext/slim.js +139 -0
- package/dist/cli/capabilityContext/slim.js.map +1 -0
- package/dist/cli/capabilityContext/startup.js +241 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -0
- package/dist/cli/capabilityContext/types.js +51 -0
- package/dist/cli/capabilityContext/types.js.map +1 -0
- package/dist/cli/capabilityContext.js +1 -2420
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/appHome.js +23 -0
- package/dist/cli/commands/appHome.js.map +1 -0
- package/dist/cli/commands/backfill.js +186 -76
- package/dist/cli/commands/backfill.js.map +1 -1
- package/dist/cli/commands/capability.js +3 -10
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.js +41 -12
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js +116 -96
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/durability.js +85 -0
- package/dist/cli/commands/durability.js.map +1 -0
- package/dist/cli/commands/lint.js +16 -41
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/migrate.js +677 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/prime/bundleStatus.js +185 -0
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
- package/dist/cli/commands/prime/collectOrientationState.js +202 -0
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
- package/dist/cli/commands/prime/orientationOutput.js +235 -0
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
- package/dist/cli/commands/prime/types.js +2 -0
- package/dist/cli/commands/prime/types.js.map +1 -0
- package/dist/cli/commands/prime/v1Migration.js +39 -0
- package/dist/cli/commands/prime/v1Migration.js.map +1 -0
- package/dist/cli/commands/prime.js +11 -519
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +25 -4
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js +50 -14
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +343 -76
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +421 -0
- package/dist/cli/commands/state/decisions.js.map +1 -0
- package/dist/cli/commands/state/docs.js +97 -0
- package/dist/cli/commands/state/docs.js.map +1 -0
- package/dist/cli/commands/state/experimentRecords.js +156 -0
- package/dist/cli/commands/state/experimentRecords.js.map +1 -0
- package/dist/cli/commands/state/experiments.js +68 -0
- package/dist/cli/commands/state/experiments.js.map +1 -0
- package/dist/cli/commands/state/get.js +141 -0
- package/dist/cli/commands/state/get.js.map +1 -0
- package/dist/cli/commands/state/health.js +116 -0
- package/dist/cli/commands/state/health.js.map +1 -0
- package/dist/cli/commands/state/index.js +51 -0
- package/dist/cli/commands/state/index.js.map +1 -0
- package/dist/cli/commands/state/list.js +159 -0
- package/dist/cli/commands/state/list.js.map +1 -0
- package/dist/cli/commands/state/objective.js +69 -0
- package/dist/cli/commands/state/objective.js.map +1 -0
- package/dist/cli/commands/state/plan.js +379 -0
- package/dist/cli/commands/state/plan.js.map +1 -0
- package/dist/cli/commands/state/planTasks.js +164 -0
- package/dist/cli/commands/state/planTasks.js.map +1 -0
- package/dist/cli/commands/state/plans.js +154 -0
- package/dist/cli/commands/state/plans.js.map +1 -0
- package/dist/cli/commands/state/progress.js +47 -0
- package/dist/cli/commands/state/progress.js.map +1 -0
- package/dist/cli/commands/state/shared.js +15 -0
- package/dist/cli/commands/state/shared.js.map +1 -0
- package/dist/cli/commands/state/todo.js +121 -0
- package/dist/cli/commands/state/todo.js.map +1 -0
- package/dist/cli/commands/state/write.js +346 -0
- package/dist/cli/commands/state/write.js.map +1 -0
- package/dist/cli/commands/upgrade.js +79 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgradeVerify.js +81 -0
- package/dist/cli/commands/upgradeVerify.js.map +1 -0
- package/dist/cli/commands/validate.js +56 -96
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/verify.js +13 -7
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/contracts/bundleStatus.js +2 -0
- package/dist/cli/contracts/bundleStatus.js.map +1 -0
- package/dist/cli/contracts/orientationState.js +2 -0
- package/dist/cli/contracts/orientationState.js.map +1 -0
- package/dist/cli/dispatch/argvParser.js +33 -0
- package/dist/cli/dispatch/argvParser.js.map +1 -0
- package/dist/cli/dispatch/check.js +395 -0
- package/dist/cli/dispatch/check.js.map +1 -0
- package/dist/cli/dispatch/commands.js +27 -0
- package/dist/cli/dispatch/commands.js.map +1 -0
- package/dist/cli/dispatch/index.js +201 -0
- package/dist/cli/dispatch/index.js.map +1 -0
- package/dist/cli/dispatch/lifecycle.js +671 -0
- package/dist/cli/dispatch/lifecycle.js.map +1 -0
- package/dist/cli/dispatch/prime.js +104 -0
- package/dist/cli/dispatch/prime.js.map +1 -0
- package/dist/cli/dispatch/shared.js +64 -0
- package/dist/cli/dispatch/shared.js.map +1 -0
- package/dist/cli/dispatch/state.js +168 -0
- package/dist/cli/dispatch/state.js.map +1 -0
- package/dist/cli/dispatch.js +1 -957
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/errors.js +53 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/help.js +421 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/orientation/attention.js +163 -0
- package/dist/cli/orientation/attention.js.map +1 -0
- package/dist/cli/orientation/corpusCoverage.js +71 -0
- package/dist/cli/orientation/corpusCoverage.js.map +1 -0
- package/dist/cli/orientation.js +336 -144
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js +201 -0
- package/dist/cli/planArtifacts.js.map +1 -0
- package/dist/cli/planEvidence.js +158 -0
- package/dist/cli/planEvidence.js.map +1 -0
- package/dist/cli/planLifecycleState.js +34 -0
- package/dist/cli/planLifecycleState.js.map +1 -0
- package/dist/cli/prime-blob.js +69 -2
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js +57 -0
- package/dist/cli/startupCompletenessContract.js.map +1 -0
- package/dist/cli/stateQuery.js +22 -5
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/todoMarkdown.js +33 -0
- package/dist/cli/todoMarkdown.js.map +1 -0
- package/dist/cli/todoSeverity.js +19 -0
- package/dist/cli/todoSeverity.js.map +1 -0
- package/dist/core/atomicWriter.js +21 -0
- package/dist/core/atomicWriter.js.map +1 -0
- package/dist/core/envPaths.js +21 -0
- package/dist/core/envPaths.js.map +1 -0
- package/dist/core/jsonValue.js +6 -0
- package/dist/core/jsonValue.js.map +1 -0
- package/dist/core/pyjson.js +67 -2
- package/dist/core/pyjson.js.map +1 -1
- package/dist/core/text.js +11 -0
- package/dist/core/text.js.map +1 -0
- package/dist/core/yaml.js +8 -0
- package/dist/core/yaml.js.map +1 -1
- package/dist/eval/evalSkills.js +30 -25
- package/dist/eval/evalSkills.js.map +1 -1
- package/dist/eval/semanticEval.js +43 -19
- package/dist/eval/semanticEval.js.map +1 -1
- package/dist/eval/semanticFixtures.js +16 -4
- package/dist/eval/semanticFixtures.js.map +1 -1
- package/dist/hooks/common.js +9 -26
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js +447 -0
- package/dist/hooks/compaction/apply.js.map +1 -0
- package/dist/hooks/compaction/dryRun.js +185 -0
- package/dist/hooks/compaction/dryRun.js.map +1 -0
- package/dist/hooks/compaction/index.js +23 -0
- package/dist/hooks/compaction/index.js.map +1 -0
- package/dist/hooks/compaction/parse.js +326 -0
- package/dist/hooks/compaction/parse.js.map +1 -0
- package/dist/hooks/compaction/retention.js +203 -0
- package/dist/hooks/compaction/retention.js.map +1 -0
- package/dist/hooks/compaction/status.js +336 -0
- package/dist/hooks/compaction/status.js.map +1 -0
- package/dist/hooks/compaction/types.js +6 -0
- package/dist/hooks/compaction/types.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +1 -1
- package/dist/hooks/cursorPreToolUse.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js +10 -2
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/sessionStart.js +57 -18
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +8 -14
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/agentFacing.js +10 -0
- package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
- package/dist/hooks/validateArtifact/index.js +151 -0
- package/dist/hooks/validateArtifact/index.js.map +1 -0
- package/dist/hooks/validateArtifact/markdown.js +146 -0
- package/dist/hooks/validateArtifact/markdown.js.map +1 -0
- package/dist/hooks/validateArtifact/runtime.js +86 -0
- package/dist/hooks/validateArtifact/runtime.js.map +1 -0
- package/dist/hooks/validateArtifact/schema.js +541 -0
- package/dist/hooks/validateArtifact/schema.js.map +1 -0
- package/dist/hooks/validateArtifact/traversal.js +108 -0
- package/dist/hooks/validateArtifact/traversal.js.map +1 -0
- package/dist/hooks/validateArtifact/violations.js +108 -0
- package/dist/hooks/validateArtifact/violations.js.map +1 -0
- package/dist/migrate/v2HandoffManifest.js +455 -0
- package/dist/migrate/v2HandoffManifest.js.map +1 -0
- package/dist/registries/artifactProtocolIds.js +77 -0
- package/dist/registries/artifactProtocolIds.js.map +1 -0
- package/dist/registries/artifactRegistry.js +203 -53
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/capabilityContract.js +156 -12
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js +171 -0
- package/dist/registries/evaluatorHandoffContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +40 -6
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/runtimeAdapterRegistry.js +30 -21
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
- package/dist/registries/triggerLoader.js +211 -0
- package/dist/registries/triggerLoader.js.map +1 -0
- package/dist/release/releaseMetadata.js +329 -0
- package/dist/release/releaseMetadata.js.map +1 -0
- package/dist/runtime/lifecycleAdapterContract.js +458 -0
- package/dist/runtime/lifecycleAdapterContract.js.map +1 -0
- package/dist/runtime/lifecycleAdapters.js +766 -0
- package/dist/runtime/lifecycleAdapters.js.map +1 -0
- package/dist/runtime/lifecycleAuthority.js +493 -0
- package/dist/runtime/lifecycleAuthority.js.map +1 -0
- package/dist/runtime/lifecycleOperationContract.js +113 -0
- package/dist/runtime/lifecycleOperationContract.js.map +1 -0
- package/dist/runtime/lifecycleOperations.js +635 -0
- package/dist/runtime/lifecycleOperations.js.map +1 -0
- package/dist/runtime/lifecycleOwnershipJournal.js +623 -0
- package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -0
- package/dist/runtime/lifecyclePublication.js +395 -0
- package/dist/runtime/lifecyclePublication.js.map +1 -0
- package/dist/runtime/lifecycleSnapshot.js +439 -0
- package/dist/runtime/lifecycleSnapshot.js.map +1 -0
- package/dist/runtime/retiredRuntimeCleanup.js +238 -0
- package/dist/runtime/retiredRuntimeCleanup.js.map +1 -0
- package/dist/setup/codex/agents.js +96 -0
- package/dist/setup/codex/agents.js.map +1 -0
- package/dist/setup/codex/cli.js +161 -0
- package/dist/setup/codex/cli.js.map +1 -0
- package/dist/setup/codex/configToml.js +639 -0
- package/dist/setup/codex/configToml.js.map +1 -0
- package/dist/setup/codex/constants.js +29 -0
- package/dist/setup/codex/constants.js.map +1 -0
- package/dist/setup/codex/installRoot.js +64 -0
- package/dist/setup/codex/installRoot.js.map +1 -0
- package/dist/setup/codex/state.js +270 -0
- package/dist/setup/codex/state.js.map +1 -0
- package/dist/setup/codex.js +11 -1055
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/copilot.js +1 -1
- package/dist/setup/copilot.js.map +1 -1
- package/dist/setup/cursor.js +7 -5
- package/dist/setup/cursor.js.map +1 -1
- package/dist/setup/cursorSurfaces.js +67 -0
- package/dist/setup/cursorSurfaces.js.map +1 -0
- package/dist/setup/doctor/core.js +296 -0
- package/dist/setup/doctor/core.js.map +1 -0
- package/dist/setup/doctor/diagnostics.js +201 -0
- package/dist/setup/doctor/diagnostics.js.map +1 -0
- package/dist/setup/doctor/opencode.js +301 -0
- package/dist/setup/doctor/opencode.js.map +1 -0
- package/dist/setup/doctor/report.js +425 -0
- package/dist/setup/doctor/report.js.map +1 -0
- package/dist/setup/doctor.js +9 -1275
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/opencode.js +13 -0
- package/dist/setup/opencode.js.map +1 -0
- package/dist/setup/opencodeConstants.js +2 -0
- package/dist/setup/opencodeConstants.js.map +1 -0
- package/dist/setup/smokeChecks.js +109 -0
- package/dist/setup/smokeChecks.js.map +1 -0
- package/dist/state/archiveDiscovery.js +589 -0
- package/dist/state/archiveDiscovery.js.map +1 -0
- package/dist/state/archivePublication.js +225 -0
- package/dist/state/archivePublication.js.map +1 -0
- package/dist/state/archiveRecovery.js +238 -0
- package/dist/state/archiveRecovery.js.map +1 -0
- package/dist/state/archiveReplay.js +54 -0
- package/dist/state/archiveReplay.js.map +1 -0
- package/dist/state/decisionOverlay.js +255 -0
- package/dist/state/decisionOverlay.js.map +1 -0
- package/dist/state/directRetrieval.js +322 -0
- package/dist/state/directRetrieval.js.map +1 -0
- package/dist/state/durability.js +451 -0
- package/dist/state/durability.js.map +1 -0
- package/dist/state/experimentArchive.js +64 -0
- package/dist/state/experimentArchive.js.map +1 -0
- package/dist/state/experimentIdentity.js +191 -0
- package/dist/state/experimentIdentity.js.map +1 -0
- package/dist/state/experimentRetrieval.js +447 -0
- package/dist/state/experimentRetrieval.js.map +1 -0
- package/dist/state/gitBackfill.js +561 -0
- package/dist/state/gitBackfill.js.map +1 -0
- package/dist/state/gitBackfillAuthority.js +141 -0
- package/dist/state/gitBackfillAuthority.js.map +1 -0
- package/dist/state/gitBackfillHistory.js +278 -0
- package/dist/state/gitBackfillHistory.js.map +1 -0
- package/dist/state/gitBackfillOutput.js +209 -0
- package/dist/state/gitBackfillOutput.js.map +1 -0
- package/dist/state/healthRepair.js +70 -0
- package/dist/state/healthRepair.js.map +1 -0
- package/dist/state/installRoot.js +64 -24
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/legacyIdentity.js +48 -0
- package/dist/state/legacyIdentity.js.map +1 -0
- package/dist/state/legacyMigration.js +516 -0
- package/dist/state/legacyMigration.js.map +1 -0
- package/dist/state/legacyMigrationParser.js +489 -0
- package/dist/state/legacyMigrationParser.js.map +1 -0
- package/dist/state/listAccounting.js +55 -0
- package/dist/state/listAccounting.js.map +1 -0
- package/dist/state/listClassification.js +18 -0
- package/dist/state/listClassification.js.map +1 -0
- package/dist/state/listRetrieval.js +782 -0
- package/dist/state/listRetrieval.js.map +1 -0
- package/dist/state/migrationAuthority.js +413 -0
- package/dist/state/migrationAuthority.js.map +1 -0
- package/dist/state/migrationEnrichment.js +35 -0
- package/dist/state/migrationEnrichment.js.map +1 -0
- package/dist/state/planIdentity.js +45 -0
- package/dist/state/planIdentity.js.map +1 -0
- package/dist/state/planRetrieval.js +314 -0
- package/dist/state/planRetrieval.js.map +1 -0
- package/dist/state/planTaskRetrieval.js +285 -0
- package/dist/state/planTaskRetrieval.js.map +1 -0
- package/dist/state/projectionPolicy.js +184 -0
- package/dist/state/projectionPolicy.js.map +1 -0
- package/dist/state/retrievalAuthority.js +326 -0
- package/dist/state/retrievalAuthority.js.map +1 -0
- package/dist/state/startupAnalysis/benchmark.js +371 -0
- package/dist/state/startupAnalysis/benchmark.js.map +1 -0
- package/dist/state/startupAnalysis/contract.js +126 -0
- package/dist/state/startupAnalysis/contract.js.map +1 -0
- package/dist/state/startupAnalysis/helpers.js +287 -0
- package/dist/state/startupAnalysis/helpers.js.map +1 -0
- package/dist/state/startupAnalysis/index.js +7 -0
- package/dist/state/startupAnalysis/index.js.map +1 -0
- package/dist/state/startupAnalysis/metrics.js +341 -0
- package/dist/state/startupAnalysis/metrics.js.map +1 -0
- package/dist/state/startupAnalysis/records.js +199 -0
- package/dist/state/startupAnalysis/records.js.map +1 -0
- package/dist/state/startupAnalysis/report.js +112 -0
- package/dist/state/startupAnalysis/report.js.map +1 -0
- package/dist/state/startupAnalysis/threshold.js +500 -0
- package/dist/state/startupAnalysis/threshold.js.map +1 -0
- package/dist/state/startupAnalysis.js +2 -1952
- package/dist/state/startupAnalysis.js.map +1 -1
- package/dist/state/startupProjection.js +498 -0
- package/dist/state/startupProjection.js.map +1 -0
- package/dist/state/write/assign.js +21 -0
- package/dist/state/write/assign.js.map +1 -0
- package/dist/state/write/errors.js +12 -0
- package/dist/state/write/errors.js.map +1 -0
- package/dist/state/write/experimentPublication.js +193 -0
- package/dist/state/write/experimentPublication.js.map +1 -0
- package/dist/state/write/explain.js +169 -0
- package/dist/state/write/explain.js.map +1 -0
- package/dist/state/write/fields.js +62 -0
- package/dist/state/write/fields.js.map +1 -0
- package/dist/state/write/helpers.js +8 -0
- package/dist/state/write/helpers.js.map +1 -0
- package/dist/state/write/index.js +12 -0
- package/dist/state/write/index.js.map +1 -0
- package/dist/state/write/input.js +22 -0
- package/dist/state/write/input.js.map +1 -0
- package/dist/state/write/lock.js +131 -0
- package/dist/state/write/lock.js.map +1 -0
- package/dist/state/write/mutation.js +190 -0
- package/dist/state/write/mutation.js.map +1 -0
- package/dist/state/write/operations.js +254 -0
- package/dist/state/write/operations.js.map +1 -0
- package/dist/state/write/planPublication.js +172 -0
- package/dist/state/write/planPublication.js.map +1 -0
- package/dist/state/write/serialize.js +2 -0
- package/dist/state/write/serialize.js.map +1 -0
- package/dist/state/write/transaction.js +800 -0
- package/dist/state/write/transaction.js.map +1 -0
- package/dist/state/write/validate.js +8 -0
- package/dist/state/write/validate.js.map +1 -0
- package/dist/upgrade/appContentRefresh.js +374 -0
- package/dist/upgrade/appContentRefresh.js.map +1 -0
- package/dist/upgrade/appModel.js +11 -6
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/atomicWriter.js +2 -0
- package/dist/upgrade/atomicWriter.js.map +1 -0
- package/dist/upgrade/bundleEvidence.js +34 -0
- package/dist/upgrade/bundleEvidence.js.map +1 -0
- package/dist/upgrade/channels.js +27 -7
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/coexistenceProbe.js +105 -0
- package/dist/upgrade/coexistenceProbe.js.map +1 -0
- package/dist/upgrade/compatibility.js +52 -16
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +195 -193
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.js +188 -0
- package/dist/upgrade/doctorClassifier.js.map +1 -0
- package/dist/upgrade/installedHooksRetirement.js +190 -0
- package/dist/upgrade/installedHooksRetirement.js.map +1 -0
- package/dist/upgrade/legacyAgentCleanup.js +183 -0
- package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
- package/dist/upgrade/lifecycleUpgrade.js +427 -0
- package/dist/upgrade/lifecycleUpgrade.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV1ToV2.js +568 -0
- package/dist/upgrade/migrateArtifactsV1ToV2.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +273 -144
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +156 -0
- package/dist/upgrade/nextMajorDoctor.js.map +1 -0
- package/dist/upgrade/npxPlatformStatus.js +23 -0
- package/dist/upgrade/npxPlatformStatus.js.map +1 -0
- package/dist/upgrade/projectIntegration.js +259 -104
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +141 -0
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +342 -89
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/upgradeCommands.js +8 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -1
- package/dist/upgrade/upgradeLock.js +54 -0
- package/dist/upgrade/upgradeLock.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +170 -46
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/upgrade/upgradeSnapshot.js +93 -0
- package/dist/upgrade/upgradeSnapshot.js.map +1 -0
- package/dist/upgrade/v3CapabilitySurface.js +15 -0
- package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
- package/dist/upgrade/versionResolution.js +12 -4
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +5 -5
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js +135 -14
- package/dist/validate/capability.js.map +1 -1
- package/dist/validate/crossCapability.js +10 -7
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +481 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
- package/dist/validate/lifecycleAdapters/shared.js +198 -0
- package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +91 -702
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/dist/validate/selfAudit.js +63 -21
- package/dist/validate/selfAudit.js.map +1 -1
- package/dist/validate/vocabularyAuthority.js +303 -0
- package/dist/validate/vocabularyAuthority.js.map +1 -0
- package/package.json +30 -27
- package/bundle/references/v1-section-mapping.md +0 -47
- package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
- package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
- package/bundle/skills/agentera/agents/hej.toml +0 -6
- package/bundle/skills/agentera/agents/inspektera.toml +0 -6
- package/bundle/skills/agentera/agents/inspirera.toml +0 -6
- package/bundle/skills/agentera/agents/optimera.toml +0 -6
- package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
- package/bundle/skills/agentera/agents/planera.toml +0 -6
- package/bundle/skills/agentera/agents/profilera.toml +0 -6
- package/bundle/skills/agentera/agents/realisera.toml +0 -6
- package/bundle/skills/agentera/agents/resonera.toml +0 -6
- package/bundle/skills/agentera/agents/visionera.toml +0 -6
- package/bundle/skills/agentera/agents/visualisera.toml +0 -6
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
- package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +0 -76
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +0 -24
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +0 -64
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +0 -107
- package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +0 -62
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +0 -61
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +0 -47
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
- package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
- package/bundle/skills/hej/SKILL.md +0 -69
- package/bundle/skills/hej/agents/hej.toml +0 -11
- package/bundle/skills/hej/agents/openai.yaml +0 -8
- package/dist/cli/commands/state.js +0 -1012
- package/dist/cli/commands/state.js.map +0 -1
- package/dist/core/git.js +0 -43
- package/dist/core/git.js.map +0 -1
- package/dist/hooks/compaction.js +0 -935
- package/dist/hooks/compaction.js.map +0 -1
- package/dist/hooks/validateArtifact.js +0 -933
- package/dist/hooks/validateArtifact.js.map +0 -1
- package/dist/state/progressCommit.js +0 -289
- package/dist/state/progressCommit.js.map +0 -1
- /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
|
@@ -11,13 +11,13 @@ Canonical scale: **0-100 integer**.
|
|
|
11
11
|
|
|
12
12
|
Five tiers with shared boundaries. Each skill defines its own domain-specific labels describing what the tier means in its context.
|
|
13
13
|
|
|
14
|
-
| Tier
|
|
15
|
-
|
|
16
|
-
| 1 (highest) | 90-100 | Verified / near-certain
|
|
17
|
-
| 2
|
|
18
|
-
| 3
|
|
19
|
-
| 4
|
|
20
|
-
| 5 (lowest)
|
|
14
|
+
| Tier | Range | Semantic |
|
|
15
|
+
| ----------- | ------ | ----------------------------- |
|
|
16
|
+
| 1 (highest) | 90-100 | Verified / near-certain |
|
|
17
|
+
| 2 | 70-89 | Strong evidence / established |
|
|
18
|
+
| 3 | 50-69 | Moderate evidence / emerging |
|
|
19
|
+
| 4 | 30-49 | Weak evidence / uncertain |
|
|
20
|
+
| 5 (lowest) | 0-29 | Speculative / extrapolated |
|
|
21
21
|
|
|
22
22
|
**Rules**:
|
|
23
23
|
|
|
@@ -36,32 +36,32 @@ Two severity vocabularies serve different purposes in the suite.
|
|
|
36
36
|
|
|
37
37
|
Used by skills that produce audit findings (inspektera, dokumentera, visualisera).
|
|
38
38
|
|
|
39
|
-
| Level
|
|
40
|
-
|
|
39
|
+
| Level | Meaning |
|
|
40
|
+
| ------------ | ---------------------------------------------------- |
|
|
41
41
|
| **critical** | Broken functionality, security issue, data loss risk |
|
|
42
|
-
| **warning**
|
|
43
|
-
| **info**
|
|
42
|
+
| **warning** | Works but poorly: fragile, confusing, or degraded |
|
|
43
|
+
| **info** | Minor: cosmetic, style, low-impact improvement |
|
|
44
44
|
|
|
45
45
|
### Issue severity (TODO.md)
|
|
46
46
|
|
|
47
47
|
Used by all skills that file to TODO.md.
|
|
48
48
|
|
|
49
|
-
| Level
|
|
50
|
-
|
|
51
|
-
| **critical** | ⇶
|
|
52
|
-
| **degraded** | ⇉
|
|
53
|
-
| **normal**
|
|
54
|
-
| **annoying** | ⇢
|
|
49
|
+
| Level | Glyph | Meaning |
|
|
50
|
+
| ------------ | ----- | ---------------------------------------------------- |
|
|
51
|
+
| **critical** | ⇶ | Broken functionality, blocks progress |
|
|
52
|
+
| **degraded** | ⇉ | Works but poorly: slow, fragile, ugly |
|
|
53
|
+
| **normal** | → | Standard work: features, improvements, routine tasks |
|
|
54
|
+
| **annoying** | ⇢ | Cosmetic, minor friction, style nit |
|
|
55
55
|
|
|
56
56
|
### Mapping
|
|
57
57
|
|
|
58
58
|
When filing audit findings to TODO.md, map as follows:
|
|
59
59
|
|
|
60
|
-
| Finding severity | →
|
|
61
|
-
|
|
62
|
-
| critical
|
|
63
|
-
| warning
|
|
64
|
-
| info
|
|
60
|
+
| Finding severity | → | Issue severity |
|
|
61
|
+
| ---------------- | --- | ------------------ |
|
|
62
|
+
| critical | → | critical |
|
|
63
|
+
| warning | → | degraded or normal |
|
|
64
|
+
| info | → | annoying |
|
|
65
65
|
|
|
66
66
|
### TODO.md format convention
|
|
67
67
|
|
|
@@ -71,24 +71,29 @@ TODO.md uses a conventional checkbox format grouped by severity. Skills write it
|
|
|
71
71
|
# TODO
|
|
72
72
|
|
|
73
73
|
## ⇶ Critical
|
|
74
|
-
|
|
74
|
+
|
|
75
|
+
- [ ] [type:train] Description
|
|
75
76
|
|
|
76
77
|
## ⇉ Degraded
|
|
77
|
-
|
|
78
|
+
|
|
79
|
+
- [ ] [type:train] Description
|
|
78
80
|
|
|
79
81
|
## → Normal
|
|
80
|
-
|
|
82
|
+
|
|
83
|
+
- [ ] [type:train] Description
|
|
81
84
|
|
|
82
85
|
## ⇢ Annoying
|
|
83
|
-
- [ ] ISS-N: [type] Description
|
|
84
86
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
- [ ] [type:train] Description
|
|
88
|
+
|
|
89
|
+
## ✓ Resolved
|
|
90
|
+
|
|
91
|
+
- [x] [type:train] Description · resolved in commit hash
|
|
87
92
|
```
|
|
88
93
|
|
|
89
|
-
Type tags use the conventional commit vocabulary: feat, fix, docs, refactor, chore, test, perf.
|
|
94
|
+
Type tags use the conventional commit vocabulary: feat, fix, docs, refactor, chore, test, perf. An optional train scope in `[type:train]` form marks work targeting a specific release train, e.g. `- [ ] [fix:train]`.
|
|
90
95
|
|
|
91
|
-
The severity vocabulary (critical/degraded/annoying) is preserved as section headings with severity glyphs. Checkboxes indicate completion state. Resolved items move to
|
|
96
|
+
The severity vocabulary (critical/degraded/annoying) is preserved as section headings with severity glyphs. Checkboxes indicate completion state. Resolved items move to `## ✓ Resolved` with `- [x]` and a commit reference.
|
|
92
97
|
|
|
93
98
|
**Linter check**: Deterministic. Exact string matching for severity terms in context.
|
|
94
99
|
|
|
@@ -96,11 +101,11 @@ The severity vocabulary (critical/degraded/annoying) is preserved as section hea
|
|
|
96
101
|
|
|
97
102
|
Used in DECISIONS.md entries (produced by resonera, consumed by realisera, planera, inspektera, profilera).
|
|
98
103
|
|
|
99
|
-
| Label
|
|
100
|
-
|
|
101
|
-
| **firm**
|
|
102
|
-
| **provisional** | Best current answer, open to revision
|
|
103
|
-
| **exploratory** | Direction to try, expected to be revisited | Treat as a suggestion
|
|
104
|
+
| Label | Meaning | How consuming skills treat it |
|
|
105
|
+
| --------------- | ------------------------------------------ | ----------------------------- |
|
|
106
|
+
| **firm** | User is committed | Treat as a hard constraint |
|
|
107
|
+
| **provisional** | Best current answer, open to revision | Treat as a strong default |
|
|
108
|
+
| **exploratory** | Direction to try, expected to be revisited | Treat as a suggestion |
|
|
104
109
|
|
|
105
110
|
**Linter check**: Deterministic. Enum values in DECISIONS.md format definition.
|
|
106
111
|
|
|
@@ -114,44 +119,44 @@ Three project-facing files at the project root; nine operational files in `.agen
|
|
|
114
119
|
|
|
115
120
|
**Root (project-facing)**:
|
|
116
121
|
|
|
117
|
-
| File
|
|
118
|
-
|
|
119
|
-
| VISION.md
|
|
120
|
-
| TODO.md
|
|
122
|
+
| File | Purpose |
|
|
123
|
+
| ------------ | ------------------------------------------------- |
|
|
124
|
+
| VISION.md | Project north star |
|
|
125
|
+
| TODO.md | Actionable items with priority and checkboxes |
|
|
121
126
|
| CHANGELOG.md | Version-level change summaries (keep-a-changelog) |
|
|
122
127
|
|
|
123
128
|
**.agentera/ (operational)**:
|
|
124
129
|
|
|
125
|
-
| File
|
|
126
|
-
|
|
127
|
-
| PROGRESS.md
|
|
128
|
-
| DECISIONS.md
|
|
129
|
-
| PLAN.md
|
|
130
|
-
| HEALTH.md
|
|
131
|
-
| OBJECTIVE.md
|
|
132
|
-
| EXPERIMENTS.md | Experiment log (per-objective, under `.agentera/optimera/<name>/`)
|
|
133
|
-
| DESIGN.md
|
|
134
|
-
| DOCS.md
|
|
135
|
-
| archive/
|
|
130
|
+
| File | Purpose |
|
|
131
|
+
| -------------- | ----------------------------------------------------------------------- |
|
|
132
|
+
| PROGRESS.md | Cycle-by-cycle operational log |
|
|
133
|
+
| DECISIONS.md | Reasoning trail |
|
|
134
|
+
| PLAN.md | Active work plan |
|
|
135
|
+
| HEALTH.md | Audit grades and findings |
|
|
136
|
+
| OBJECTIVE.md | Optimization target (per-objective, under `.agentera/optimera/<name>/`) |
|
|
137
|
+
| EXPERIMENTS.md | Experiment log (per-objective, under `.agentera/optimera/<name>/`) |
|
|
138
|
+
| DESIGN.md | Visual identity |
|
|
139
|
+
| DOCS.md | Documentation contract + optional artifact path overrides |
|
|
140
|
+
| archive/ | Completed plans, superseded visions and designs |
|
|
136
141
|
|
|
137
|
-
**PROFILE.md** is global. Profilera determines the platform-appropriate data directory: `$
|
|
142
|
+
**PROFILE.md** is global. Profilera determines the platform-appropriate data directory: `$AGENTERA_PROFILE_DIR/PROFILE.md` (defaulting to `$XDG_DATA_HOME/agentera/PROFILE.md` on Linux, `~/Library/Application Support/agentera/PROFILE.md` on macOS, `%APPDATA%/agentera/PROFILE.md` on Windows). <!-- platform: profile-path --> Skills read it from the profilera-determined path directly. AGENTERA_PROFILE_DIR is the sibling of AGENTERA_HOME (Section 7): both are adapter-injected env vars. AGENTERA_PROFILE_DIR scopes to profile data; AGENTERA_HOME scopes to the Agentera app home. User data such as PROFILE.md, USAGE.md, history, and intermediate corpus data stays at the app-home root; managed app code lives separately under `$AGENTERA_HOME/app`.
|
|
138
143
|
|
|
139
144
|
### Format contracts
|
|
140
145
|
|
|
141
|
-
| Artifact
|
|
142
|
-
|
|
143
|
-
| VISION.md
|
|
144
|
-
| TODO.md
|
|
145
|
-
| CHANGELOG.md
|
|
146
|
-
| DECISIONS.md
|
|
147
|
-
| PLAN.md
|
|
148
|
-
| PROGRESS.md
|
|
149
|
-
| HEALTH.md
|
|
150
|
-
| OBJECTIVE.md
|
|
151
|
-
| EXPERIMENTS.md | .agentera/optimera/<name>/experiments.yaml
|
|
152
|
-
| DESIGN.md
|
|
153
|
-
| DOCS.md
|
|
154
|
-
| PROFILE.md
|
|
146
|
+
| Artifact | Path | Producer | Consumers | Key structural elements |
|
|
147
|
+
| -------------- | --------------------------------------------------------- | --------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
148
|
+
| VISION.md | .agentera/vision.yaml | visionera, realisera | realisera, planera, inspektera, dokumentera, visualisera, orkestrera | north_star, personas, principles, direction, identity |
|
|
149
|
+
| TODO.md | TODO.md | realisera, inspektera | realisera, planera, orkestrera | ## ⇶ Critical, ## ⇉ Degraded, ## → Normal, ## ⇢ Annoying, ## ✓ Resolved |
|
|
150
|
+
| CHANGELOG.md | CHANGELOG.md | realisera | project contributors | ## [Unreleased], ### Added/Changed/Fixed |
|
|
151
|
+
| DECISIONS.md | .agentera/decisions.yaml | resonera | planera, realisera, inspektera, profilera, optimera, orkestrera | ## Decision N · date, **Question/Context/Alternatives/Choice/Reasoning/Confidence/Feeds into** |
|
|
152
|
+
| PLAN.md | .agentera/plan.yaml | planera | realisera, inspektera, orkestrera | <!-- Level/Created/Status -->, ## Tasks with ### Task N, **Status/Depends on/Acceptance** |
|
|
153
|
+
| PROGRESS.md | .agentera/progress.yaml | realisera | planera, inspektera, dokumentera, visionera, orkestrera | ## Cycle N · date, **Phase/What/Inspiration/Discovered/Next/Context** |
|
|
154
|
+
| HEALTH.md | .agentera/health.yaml | inspektera | realisera, planera, orkestrera | ## Audit N · date, **Dimensions/Findings/Overall/Grades**, per-dimension sections |
|
|
155
|
+
| OBJECTIVE.md | .agentera/optimera/<name>/objective.yaml | optimera | optimera | ## Metric, ## Target, ## Baseline, ## Constraints, **Status** |
|
|
156
|
+
| EXPERIMENTS.md | .agentera/optimera/<name>/experiments.yaml | optimera | optimera | ## Experiment N · date, **Hypothesis/Method/Result/Conclusion**; ## Closure · date, **Final value/Target/Reason** |
|
|
157
|
+
| DESIGN.md | DESIGN.md | visualisera | realisera, visionera | Standard design sections with embedded `design:` YAML blocks |
|
|
158
|
+
| DOCS.md | .agentera/docs.yaml | dokumentera | all skills (path resolution) | conventions, mapping, index |
|
|
159
|
+
| PROFILE.md | (profile-path capability) <!-- platform: profile-path --> | profilera | all skills (directly when present) | ## Category, ### Decision, inline conf metadata |
|
|
155
160
|
|
|
156
161
|
**Dual-write**: realisera writes both CHANGELOG.md (public, version-level summaries for project contributors) AND `.agentera/progress.yaml` (operational cycle-level detail for consuming skills). Consuming skills that need cycle detail read `.agentera/progress.yaml`; project contributors read CHANGELOG.md.
|
|
157
162
|
|
|
@@ -163,17 +168,17 @@ Three project-facing files at the project root; nine operational files in `.agen
|
|
|
163
168
|
|
|
164
169
|
Inspektera assesses codebases across these dimensions, selecting applicable ones per audit. Each dimension produces an A-F grade, confidence-scored findings, and trend tracking.
|
|
165
170
|
|
|
166
|
-
| Dimension
|
|
167
|
-
|
|
168
|
-
| Architecture alignment | Code vs stated architecture: pattern mismatches, boundary violations, layering breaks
|
|
169
|
-
| Pattern consistency
|
|
170
|
-
| Coupling health
|
|
171
|
-
| Complexity hotspots
|
|
172
|
-
| Test health
|
|
173
|
-
| Dependency health
|
|
174
|
-
| Version health
|
|
175
|
-
| Artifact freshness
|
|
176
|
-
| Security hygiene
|
|
171
|
+
| Dimension | What it evaluates |
|
|
172
|
+
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
173
|
+
| Architecture alignment | Code vs stated architecture: pattern mismatches, boundary violations, layering breaks |
|
|
174
|
+
| Pattern consistency | Naming, error handling, structure, abstractions used consistently |
|
|
175
|
+
| Coupling health | Hidden dependencies, circular imports, god modules, inappropriate intimacy |
|
|
176
|
+
| Complexity hotspots | Long functions, deep nesting, high fan-out, accumulated conditionals |
|
|
177
|
+
| Test health | Coverage gaps, test quality, test-to-code ratio, behavior vs implementation testing |
|
|
178
|
+
| Dependency health | Outdated deps, security advisories, unused deps, pinning discipline |
|
|
179
|
+
| Version health | Unreleased feat/fix commits since last version bump |
|
|
180
|
+
| Artifact freshness | State artifacts current relative to plan activity or recent development |
|
|
181
|
+
| Security hygiene | Hardcoded secrets, dangerous function calls, basic injection patterns (lightweight regex scan; recommends dedicated tools for comprehensive analysis) |
|
|
177
182
|
|
|
178
183
|
### CHANGELOG.md format convention
|
|
179
184
|
|
|
@@ -185,17 +190,21 @@ CHANGELOG.md follows the [Keep a Changelog](https://keepachangelog.com/) convent
|
|
|
185
190
|
## [Unreleased]
|
|
186
191
|
|
|
187
192
|
### Added
|
|
193
|
+
|
|
188
194
|
- description
|
|
189
195
|
|
|
190
196
|
### Changed
|
|
197
|
+
|
|
191
198
|
- description
|
|
192
199
|
|
|
193
200
|
### Fixed
|
|
201
|
+
|
|
194
202
|
- description
|
|
195
203
|
|
|
196
204
|
## [version] · YYYY-MM-DD
|
|
197
205
|
|
|
198
206
|
### Added
|
|
207
|
+
|
|
199
208
|
- description
|
|
200
209
|
```
|
|
201
210
|
|
|
@@ -207,22 +216,22 @@ Realisera appends entries under `## [Unreleased]` in the appropriate subsection
|
|
|
207
216
|
|
|
208
217
|
Per-artifact word limits. Producing skills check approximate word count before writing. If a write would exceed the budget, compact first (see Compaction thresholds below).
|
|
209
218
|
|
|
210
|
-
| Artifact
|
|
211
|
-
|
|
212
|
-
| PROGRESS.md
|
|
213
|
-
| PROGRESS.md
|
|
214
|
-
| EXPERIMENTS.md | Per-experiment entry
|
|
215
|
-
| EXPERIMENTS.md | Full file
|
|
216
|
-
| HEALTH.md
|
|
217
|
-
| HEALTH.md
|
|
218
|
-
| DECISIONS.md
|
|
219
|
-
| TODO.md
|
|
220
|
-
| CHANGELOG.md
|
|
221
|
-
| PLAN.md
|
|
222
|
-
| PLAN.md
|
|
223
|
-
| VISION.md
|
|
224
|
-
| DESIGN.md
|
|
225
|
-
| DOCS.md
|
|
219
|
+
| Artifact | Scope | Budget |
|
|
220
|
+
| -------------- | ------------------------ | ------------ |
|
|
221
|
+
| PROGRESS.md | Per-cycle entry | ≤500 words |
|
|
222
|
+
| PROGRESS.md | Full file | ≤3,000 words |
|
|
223
|
+
| EXPERIMENTS.md | Per-experiment entry | ≤300 words |
|
|
224
|
+
| EXPERIMENTS.md | Full file | ≤2,500 words |
|
|
225
|
+
| HEALTH.md | Per-dimension assessment | ≤150 words |
|
|
226
|
+
| HEALTH.md | Full file | ≤2,000 words |
|
|
227
|
+
| DECISIONS.md | Per-decision entry | ≤200 words |
|
|
228
|
+
| TODO.md | Per-item entry | ≤100 words |
|
|
229
|
+
| CHANGELOG.md | Per-version section | ≤300 words |
|
|
230
|
+
| PLAN.md | Per-task entry | ≤100 words |
|
|
231
|
+
| PLAN.md | Full file | ≤2,500 words |
|
|
232
|
+
| VISION.md | Full file | ≤1,500 words |
|
|
233
|
+
| DESIGN.md | Full file | ≤2,000 words |
|
|
234
|
+
| DOCS.md | Full file | ≤2,000 words |
|
|
226
235
|
|
|
227
236
|
Budgets are guidelines, not hard blockers. A 510-word cycle entry is fine; a 1,200-word entry signals the write step lacks output constraints.
|
|
228
237
|
|
|
@@ -230,54 +239,74 @@ Budgets are guidelines, not hard blockers. A 510-word cycle entry is fine; a 1,2
|
|
|
230
239
|
|
|
231
240
|
Artifacts store judgments, intent, reasoning, and context that would be lost without them: the non-derivable residue. Do not duplicate state retrievable from the project's files or history with a deterministic command.
|
|
232
241
|
|
|
233
|
-
| Exclude from artifacts
|
|
234
|
-
|
|
235
|
-
| Files modified in a cycle
|
|
236
|
-
| Function signatures from audits
|
|
237
|
-
| Dependency versions
|
|
238
|
-
| Lines of code per module
|
|
239
|
-
| Code snippets in PROGRESS.md
|
|
240
|
-
| Test names enumerated in findings | `Grep` against test files
|
|
242
|
+
| Exclude from artifacts | Retrieve from |
|
|
243
|
+
| --------------------------------- | ------------------------------------------- |
|
|
244
|
+
| Files modified in a cycle | `git log --stat` |
|
|
245
|
+
| Function signatures from audits | `Grep` against source code |
|
|
246
|
+
| Dependency versions | Manifest files (package.json, go.mod, etc.) |
|
|
247
|
+
| Lines of code per module | `wc -l` or Glob + Read |
|
|
248
|
+
| Code snippets in PROGRESS.md | Commit diffs (`git show`) |
|
|
249
|
+
| Test names enumerated in findings | `Grep` against test files |
|
|
241
250
|
|
|
242
251
|
The test: if a reader can reconstruct the information from the project's current state or git history, it does not belong in the artifact.
|
|
243
252
|
|
|
244
253
|
### Compaction thresholds
|
|
245
254
|
|
|
246
|
-
|
|
255
|
+
Numbered state artifacts use `uniform_10_40_50` as projection capacity to cap
|
|
256
|
+
read cost for consuming skills: 10 active full-detail entries and 40 archive
|
|
257
|
+
projection entries. These are bounded active/archive projections, not retention
|
|
258
|
+
or deletion limits. Verified numbered archives remain authoritative; projection
|
|
259
|
+
compaction performs no destructive deletion. Recovery refuses to omit entries
|
|
260
|
+
when archive evidence is missing and retains full entries with metadata.
|
|
261
|
+
Compaction runs when the producing skill writes a new entry. Other artifacts
|
|
262
|
+
retain their owning artifact-specific compaction rules below.
|
|
247
263
|
|
|
248
264
|
**CHANGELOG.md is exempt**: it is the public version-level history and is not compacted.
|
|
249
265
|
|
|
250
266
|
**PROGRESS.md**, compacted by realisera when writing a new cycle entry:
|
|
251
267
|
|
|
252
|
-
| Tier
|
|
253
|
-
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
268
|
+
| Tier | Entries | Format |
|
|
269
|
+
| ------------------- | --------------------- | ---------------------------------------- |
|
|
270
|
+
| Active full detail | 10 most recent cycles | Standard cycle entry format |
|
|
271
|
+
| Archive projection | Cycles 11 through 50 | `Cycle N (YYYY-MM-DD): ≤15-word summary` |
|
|
272
|
+
| Outside projection | Older cycles | Omission metadata; numbered archive |
|
|
257
273
|
|
|
258
|
-
When writing a new cycle: if >10 full-detail entries exist
|
|
274
|
+
When writing a new cycle: if >10 full-detail entries exist and their numbered
|
|
275
|
+
archives verify, collapse the oldest to one-line format under an `## Archived
|
|
276
|
+
Cycles` heading (below the recent cycles). If >40 one-line entries exist, omit
|
|
277
|
+
the oldest from this bounded projection with metadata; if archive evidence is
|
|
278
|
+
missing, retain the full entry and refuse the projection change. One-line
|
|
279
|
+
summaries preserve cycle number, date, and work-type, enough for trend analysis
|
|
280
|
+
by consuming skills.
|
|
259
281
|
|
|
260
|
-
Active cycle entries are stored newest-first: descending by cycle number. Insert the newest full-detail cycle before older active cycles so `agentera progress --limit 1` reads the current cycle
|
|
282
|
+
Active cycle entries are stored newest-first: descending by cycle number. Insert the newest full-detail cycle before older active cycles so `agentera state progress list --limit 1 --format json` reads the current cycle through the bounded state interface.
|
|
261
283
|
|
|
262
284
|
**EXPERIMENTS.md**, compacted by optimera when writing a new experiment:
|
|
263
285
|
|
|
264
|
-
| Tier
|
|
265
|
-
|
|
266
|
-
| Full detail
|
|
267
|
-
| One-line archive | Experiments 11 through 50
|
|
268
|
-
| Dropped
|
|
286
|
+
| Tier | Entries | Format |
|
|
287
|
+
| ---------------- | -------------------------- | -------------------------------- |
|
|
288
|
+
| Full detail | 10 most recent experiments | Standard experiment entry format |
|
|
289
|
+
| One-line archive | Experiments 11 through 50 | `EXP-N: ≤15-word result summary` |
|
|
290
|
+
| Dropped | Experiments older than 50 | Removed entirely |
|
|
269
291
|
|
|
270
|
-
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest
|
|
292
|
+
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest
|
|
293
|
+
one-line when >40 one-line entries exist. Archive section sits below recent
|
|
294
|
+
experiments under an `## Archived Experiments` heading.
|
|
271
295
|
|
|
272
296
|
**DECISIONS.md**, compacted by resonera when writing a new decision:
|
|
273
297
|
|
|
274
|
-
| Tier
|
|
275
|
-
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
|
|
|
298
|
+
| Tier | Entries | Format |
|
|
299
|
+
| ------------------- | ------------------------ | ------------------------------------------------------ |
|
|
300
|
+
| Active full detail | 10 most recent decisions | Standard decision entry format |
|
|
301
|
+
| Archive projection | Decisions 11 through 50 | `Decision N (YYYY-MM-DD): [Choice] — ≤15-word summary` |
|
|
302
|
+
| Outside projection | Older decisions | Omission metadata; numbered archive |
|
|
279
303
|
|
|
280
|
-
Same logic: collapse oldest full-detail to one-line when >10 exist
|
|
304
|
+
Same logic: collapse oldest full-detail to one-line when >10 exist and their
|
|
305
|
+
numbered archives verify. If >40 one-line entries exist, omit the oldest from
|
|
306
|
+
this bounded projection with metadata; if archive evidence is missing, retain
|
|
307
|
+
the full entry and refuse the projection change. Archive section sits below
|
|
308
|
+
recent decisions under an `## Archived Decisions` heading. One-line summaries
|
|
309
|
+
preserve decision number, date, and the chosen alternative.
|
|
281
310
|
|
|
282
311
|
When writing a new decision, choose `N` as one greater than the highest decision number in active and archived entries. Insert the new full entry in the active section immediately before `## Archived Decisions`; if no archive exists, append it at the end of the file. Active decision entries must have unique numbers and remain ascending by decision number. Do not reuse or renumber decisions except when repairing artifact corruption.
|
|
283
312
|
|
|
@@ -285,23 +314,45 @@ When writing a new decision, choose `N` as one greater than the highest decision
|
|
|
285
314
|
|
|
286
315
|
**HEALTH.md**, compacted by inspektera when writing a new audit:
|
|
287
316
|
|
|
288
|
-
| Tier
|
|
289
|
-
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
|
317
|
+
| Tier | Entries | Format |
|
|
318
|
+
| ------------------- | --------------------- | -------------------------------------------------- |
|
|
319
|
+
| Active full detail | 10 most recent audits | Standard audit entry format |
|
|
320
|
+
| Archive projection | Audits 11 through 50 | `Audit N (YYYY-MM-DD): [grade] — ≤15-word summary` |
|
|
321
|
+
| Outside projection | Older audits | Omission metadata; numbered archive |
|
|
293
322
|
|
|
294
|
-
Same logic: collapse oldest full-detail to one-line when >10 exist
|
|
323
|
+
Same logic: collapse oldest full-detail to one-line when >10 exist and their
|
|
324
|
+
numbered archives verify. If >40 one-line entries exist, omit the oldest from
|
|
325
|
+
this bounded projection with metadata; if archive evidence is missing, retain
|
|
326
|
+
the full entry and refuse the projection change. Archive section sits below
|
|
327
|
+
recent audits under an `## Archived Audits` heading. One-line summaries preserve
|
|
328
|
+
audit number, date, overall grade, and trajectory.
|
|
295
329
|
|
|
296
330
|
**TODO.md Resolved section**, compacted by realisera when marking an item resolved:
|
|
297
331
|
|
|
298
|
-
| Tier
|
|
299
|
-
|
|
300
|
-
| Full detail
|
|
301
|
-
| One-line
|
|
302
|
-
| Dropped
|
|
303
|
-
|
|
304
|
-
|
|
332
|
+
| Tier | Entries | Format |
|
|
333
|
+
| ---------------- | ----------------------------- | ------------------------------------------------ |
|
|
334
|
+
| Full detail | 10 most recent resolved items | Standard resolved entry format |
|
|
335
|
+
| One-line summary | Items 11 through 50 | `- [x] [type:train] ≤15-word resolution summary` |
|
|
336
|
+
| Dropped | Items older than 50 | Removed entirely |
|
|
337
|
+
|
|
338
|
+
The first ten resolved rows are the recent/full-detail tier even when they have
|
|
339
|
+
no indented body; rows 11 through 50 are the summary tier. Collapse the oldest
|
|
340
|
+
full-detail entries to one line when more than 10 exist. Drop the oldest
|
|
341
|
+
summaries when more than 40 exist. Compaction applies only within the
|
|
342
|
+
`## ✓ Resolved` section; active severity sections are not affected.
|
|
343
|
+
|
|
344
|
+
TODO.md is a **bounded human-facing queue, not a lossless numbered archive**.
|
|
345
|
+
Unlike progress, decisions, and health—which preserve verified numbered archives
|
|
346
|
+
and perform no destructive deletion—TODO compaction is intentionally destructive.
|
|
347
|
+
Dropped resolved entries are removed from the working tree and are recoverable
|
|
348
|
+
only for previously committed content through project history
|
|
349
|
+
(`git log -p -- :/TODO.md`; the `:/` pathspec is project-root-safe). Non-Git
|
|
350
|
+
projects have no historical recovery for dropped entries. Compaction diagnostics
|
|
351
|
+
MUST report removed entries as `dropped` and MUST NOT describe TODO compaction as
|
|
352
|
+
a lossless projection. Exactly one `## ✓ Resolved` section is permitted;
|
|
353
|
+
parsing, validation, and compaction refuse with an actionable diagnostic when
|
|
354
|
+
duplicates are present because parsing processes only the first section and
|
|
355
|
+
otherwise hides trailing entries from the budget.
|
|
305
356
|
|
|
306
357
|
## 5. Artifact Path Resolution
|
|
307
358
|
|
|
@@ -340,7 +391,7 @@ Skills that read the decision profile use one of two patterns:
|
|
|
340
391
|
### Script pattern (for skills that need confidence-weighted summaries)
|
|
341
392
|
|
|
342
393
|
```
|
|
343
|
-
Read `$
|
|
394
|
+
Read `$AGENTERA_PROFILE_DIR/PROFILE.md` directly
|
|
344
395
|
```
|
|
345
396
|
|
|
346
397
|
Run from the profilera skill directory. Mentioned skills: realisera, optimera, inspektera, planera, inspirera.
|
|
@@ -352,14 +403,14 @@ Standard threshold language (after migration to 0-100):
|
|
|
352
403
|
|
|
353
404
|
### Direct read pattern (for skills that need qualitative profile context)
|
|
354
405
|
|
|
355
|
-
Read PROFILE.md from the profilera-determined profile path (`$
|
|
406
|
+
Read PROFILE.md from the profilera-determined profile path (`$AGENTERA_PROFILE_DIR/PROFILE.md`, defaulting to `$XDG_DATA_HOME/agentera/PROFILE.md` on Linux). <!-- platform: profile-path --> Mentioned skills: resonera, visionera, dokumentera, visualisera.
|
|
356
407
|
|
|
357
408
|
Both patterns MUST include a fallback instruction:
|
|
358
409
|
"If the script or PROFILE.md is missing, proceed without persona grounding."
|
|
359
410
|
|
|
360
411
|
**Linter check**: Deterministic. Script invocation syntax, threshold values, fallback instruction presence.
|
|
361
412
|
|
|
362
|
-
|
|
413
|
+
AGENTERA_PROFILE_DIR is the sibling of AGENTERA_HOME (Section 7): both are adapter-injected env vars, but they scope to different surfaces. AGENTERA_PROFILE_DIR names the profile data directory where PROFILE.md lives; AGENTERA_HOME names the Agentera app home. User data remains at the app-home root; helper scripts referenced by skill prose live in the managed app under `$AGENTERA_HOME/app`.
|
|
363
414
|
|
|
364
415
|
## 11. Exit Signals
|
|
365
416
|
|
|
@@ -367,12 +418,12 @@ Every skill MUST report a completion status at the end of its workflow. This ena
|
|
|
367
418
|
|
|
368
419
|
### Statuses
|
|
369
420
|
|
|
370
|
-
| Status
|
|
371
|
-
|
|
372
|
-
| **complete** | All steps completed successfully
|
|
373
|
-
| **flagged**
|
|
374
|
-
| **stuck**
|
|
375
|
-
| **waiting**
|
|
421
|
+
| Status | Meaning | When to use |
|
|
422
|
+
| ------------ | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
423
|
+
| **complete** | All steps completed successfully | The skill's workflow ran to completion and all acceptance criteria (if any) were met |
|
|
424
|
+
| **flagged** | Completed, but with issues the user should know about | The workflow completed but discovered problems, made compromises, or has caveats worth surfacing |
|
|
425
|
+
| **stuck** | Cannot proceed | A hard blocker prevents completion: missing dependency, permission issue, ambiguous requirement too consequential to resolve autonomously |
|
|
426
|
+
| **waiting** | Missing information required to continue | The skill needs input, clarification, or a decision from the user or another skill before it can proceed |
|
|
376
427
|
|
|
377
428
|
### Rules
|
|
378
429
|
|
|
@@ -401,20 +452,20 @@ DESIGN.md is the source of truth for token definitions. This spec defines how sk
|
|
|
401
452
|
|
|
402
453
|
Each skill has a unique Unicode glyph used as a subtle signature in output.
|
|
403
454
|
|
|
404
|
-
| Skill
|
|
405
|
-
|
|
406
|
-
| hej
|
|
407
|
-
| realisera
|
|
408
|
-
| inspektera
|
|
409
|
-
| resonera
|
|
410
|
-
| planera
|
|
411
|
-
| visionera
|
|
412
|
-
| optimera
|
|
413
|
-
| dokumentera | ▤
|
|
414
|
-
| profilera
|
|
415
|
-
| inspirera
|
|
416
|
-
| visualisera | ◰
|
|
417
|
-
| orkestrera
|
|
455
|
+
| Skill | Glyph | Code | Meaning |
|
|
456
|
+
| ----------- | ----- | ------ | ---------------------- |
|
|
457
|
+
| hej | ⌂ | U+2302 | home base |
|
|
458
|
+
| realisera | ⧉ | U+29C9 | joined building blocks |
|
|
459
|
+
| inspektera | ⛶ | U+26F6 | viewfinder frame |
|
|
460
|
+
| resonera | ❈ | U+2748 | spark of insight |
|
|
461
|
+
| planera | ≡ | U+2261 | structured layers |
|
|
462
|
+
| visionera | ⛥ | U+26E5 | guiding star |
|
|
463
|
+
| optimera | ⎘ | U+2398 | measurement |
|
|
464
|
+
| dokumentera | ▤ | U+25A4 | text on page |
|
|
465
|
+
| profilera | ♾ | U+267E | permanent mark |
|
|
466
|
+
| inspirera | ⬚ | U+2B1A | frame to fill |
|
|
467
|
+
| visualisera | ◰ | U+25F0 | design grid |
|
|
468
|
+
| orkestrera | ⎈ | U+2388 | helm, steering |
|
|
418
469
|
|
|
419
470
|
### Semantic tokens
|
|
420
471
|
|
|
@@ -422,46 +473,46 @@ Six token families express status, urgency, certainty, and direction.
|
|
|
422
473
|
|
|
423
474
|
**Status** (task/item completion, square fill progression):
|
|
424
475
|
|
|
425
|
-
| State
|
|
426
|
-
|
|
427
|
-
| complete
|
|
428
|
-
| in-progress | ▣
|
|
429
|
-
| open
|
|
430
|
-
| blocked
|
|
476
|
+
| State | Glyph | Code |
|
|
477
|
+
| ----------- | ----- | ------ |
|
|
478
|
+
| complete | ■ | U+25A0 |
|
|
479
|
+
| in-progress | ▣ | U+25A3 |
|
|
480
|
+
| open | □ | U+25A1 |
|
|
481
|
+
| blocked | ▨ | U+25A8 |
|
|
431
482
|
|
|
432
483
|
**Severity** (issue priority, rightward arrows, more arrows = higher priority):
|
|
433
484
|
|
|
434
|
-
| Level
|
|
435
|
-
|
|
436
|
-
| critical | ⇶
|
|
437
|
-
| degraded | ⇉
|
|
438
|
-
| normal
|
|
439
|
-
| annoying | ⇢
|
|
485
|
+
| Level | Glyph | Code |
|
|
486
|
+
| -------- | ----- | ------ |
|
|
487
|
+
| critical | ⇶ | U+21F6 |
|
|
488
|
+
| degraded | ⇉ | U+21C9 |
|
|
489
|
+
| normal | → | U+2192 |
|
|
490
|
+
| annoying | ⇢ | U+21E2 |
|
|
440
491
|
|
|
441
492
|
**Confidence** (decision certainty, box-drawing line weight):
|
|
442
493
|
|
|
443
|
-
| Level
|
|
444
|
-
|
|
445
|
-
| firm
|
|
446
|
-
| provisional | ─
|
|
447
|
-
| exploratory | ┄
|
|
494
|
+
| Level | Glyph | Code |
|
|
495
|
+
| ----------- | ----- | ------ |
|
|
496
|
+
| firm | ━ | U+2501 |
|
|
497
|
+
| provisional | ─ | U+2500 |
|
|
498
|
+
| exploratory | ┄ | U+2504 |
|
|
448
499
|
|
|
449
500
|
**Trends** (direction of change):
|
|
450
501
|
|
|
451
|
-
| Direction | Glyph | Code
|
|
452
|
-
|
|
453
|
-
| improving | ⮉
|
|
454
|
-
| degrading | ⮋
|
|
502
|
+
| Direction | Glyph | Code |
|
|
503
|
+
| --------- | ----- | ------ |
|
|
504
|
+
| improving | ⮉ | U+2B89 |
|
|
505
|
+
| degrading | ⮋ | U+2B8B |
|
|
455
506
|
|
|
456
507
|
**Structural** (layout primitives):
|
|
457
508
|
|
|
458
|
-
| Element
|
|
459
|
-
|
|
460
|
-
| section divider
|
|
461
|
-
| list item
|
|
462
|
-
| inline separator | ·
|
|
463
|
-
| flow / target
|
|
464
|
-
| progress bar
|
|
509
|
+
| Element | Glyph/Pattern | Code |
|
|
510
|
+
| ---------------- | ------------------- | ---------------- |
|
|
511
|
+
| section divider | `─── label ───────` | U+2500 |
|
|
512
|
+
| list item | ▸ | U+25B8 |
|
|
513
|
+
| inline separator | · | U+00B7 |
|
|
514
|
+
| flow / target | → | U+2192 |
|
|
515
|
+
| progress bar | █▓░ | U+2588/2593/2591 |
|
|
465
516
|
|
|
466
517
|
### Composition rules
|
|
467
518
|
|
|
@@ -478,11 +529,11 @@ Six token families express status, urgency, certainty, and direction.
|
|
|
478
529
|
|
|
479
530
|
Three levels of visual dividers create a consistent hierarchy across skill output.
|
|
480
531
|
|
|
481
|
-
| Level
|
|
482
|
-
|
|
483
|
-
| Skill boundary | `─── glyph skillname · context ───` | Session opener, exit signal
|
|
484
|
-
| Step boundary
|
|
485
|
-
| Container
|
|
532
|
+
| Level | Pattern | Use |
|
|
533
|
+
| -------------- | ----------------------------------- | ------------------------------------- |
|
|
534
|
+
| Skill boundary | `─── glyph skillname · context ───` | Session opener, exit signal |
|
|
535
|
+
| Step boundary | `── step N/M: verb` | Workflow progress between steps |
|
|
536
|
+
| Container | `── label` | Mid-session blocks (scratchpad, etc.) |
|
|
486
537
|
|
|
487
538
|
Step and container dividers share the same visual weight (2-dash), differentiated by label content: step boundaries use `step N/M: verb`, containers use a descriptive label.
|
|
488
539
|
|
|
@@ -548,15 +599,15 @@ Rules:
|
|
|
548
599
|
|
|
549
600
|
### Token-to-artifact mapping
|
|
550
601
|
|
|
551
|
-
| Artifact
|
|
552
|
-
|
|
553
|
-
| PLAN.md
|
|
554
|
-
| TODO.md
|
|
555
|
-
| DECISIONS.md | Confidence (━/─/┄) alongside confidence labels
|
|
556
|
-
| HEALTH.md
|
|
557
|
-
| PROGRESS.md
|
|
558
|
-
| VISION.md
|
|
559
|
-
| DOCS.md
|
|
602
|
+
| Artifact | Token families used |
|
|
603
|
+
| ------------ | ------------------------------------------------------------------- |
|
|
604
|
+
| PLAN.md | Status (■/▣/□/▨) for task states |
|
|
605
|
+
| TODO.md | Severity (⇶/⇉/→/⇢) in section headings, Status (□/■) via checkboxes |
|
|
606
|
+
| DECISIONS.md | Confidence (━/─/┄) alongside confidence labels |
|
|
607
|
+
| HEALTH.md | Trends (⮉/⮋) for trajectory, severity for findings |
|
|
608
|
+
| PROGRESS.md | Status (■) for cycle completion markers |
|
|
609
|
+
| VISION.md | Structural (▸, ·) for principles and direction |
|
|
610
|
+
| DOCS.md | Structural (▸, ·) for index, status tokens for coverage |
|
|
560
611
|
|
|
561
612
|
### Rules
|
|
562
613
|
|
|
@@ -574,25 +625,25 @@ Every realisera cycle operates in one of five phases. Phases map the suite's ski
|
|
|
574
625
|
|
|
575
626
|
### Phases
|
|
576
627
|
|
|
577
|
-
| Phase
|
|
578
|
-
|
|
579
|
-
| **envision**
|
|
580
|
-
| **deliberate** | resonera
|
|
581
|
-
| **plan**
|
|
582
|
-
| **build**
|
|
583
|
-
| **audit**
|
|
628
|
+
| Phase | Skills | Purpose |
|
|
629
|
+
| -------------- | --------------------------------------------- | ------------------------------------------------------------------- |
|
|
630
|
+
| **envision** | visionera | Define or refine the project's north star |
|
|
631
|
+
| **deliberate** | resonera | Reason through decisions before committing to a direction |
|
|
632
|
+
| **plan** | planera | Structure work into tasks with dependencies and acceptance criteria |
|
|
633
|
+
| **build** | realisera, optimera, dokumentera, visualisera | Implement, optimize, document, or design |
|
|
634
|
+
| **audit** | inspektera | Evaluate structural health and alignment |
|
|
584
635
|
|
|
585
636
|
### Transitions
|
|
586
637
|
|
|
587
638
|
Phases have valid successors. A cycle's phase is determined by the primary skill performing work, not by the phase of the previous cycle (phases are not a strict pipeline).
|
|
588
639
|
|
|
589
|
-
| From
|
|
590
|
-
|
|
591
|
-
| envision
|
|
592
|
-
| deliberate | plan, build, envision
|
|
593
|
-
| plan
|
|
594
|
-
| build
|
|
595
|
-
| audit
|
|
640
|
+
| From | Valid successors |
|
|
641
|
+
| ---------- | --------------------------------- |
|
|
642
|
+
| envision | deliberate, plan, build |
|
|
643
|
+
| deliberate | plan, build, envision |
|
|
644
|
+
| plan | build, deliberate |
|
|
645
|
+
| build | build, audit, plan |
|
|
646
|
+
| audit | build, plan, deliberate, envision |
|
|
596
647
|
|
|
597
648
|
**Terminal states**: audit and build are terminal in the sense that a project can remain in either phase indefinitely (continuous building, periodic auditing). envision, deliberate, and plan are transitional: they produce artifacts consumed by downstream phases.
|
|
598
649
|
|
|
@@ -622,20 +673,20 @@ Stale artifacts mislead routing decisions and cause skills to act on outdated co
|
|
|
622
673
|
|
|
623
674
|
Each skill produces specific artifacts as part of its workflow. When a skill is dispatched (directly or via orkestrera), the artifacts listed here are the ones it is expected to have updated upon completion. This table is the authoritative lookup for staleness checks.
|
|
624
675
|
|
|
625
|
-
| Skill
|
|
626
|
-
|
|
627
|
-
| visionera
|
|
628
|
-
| resonera
|
|
629
|
-
| planera
|
|
630
|
-
| realisera
|
|
631
|
-
| optimera
|
|
632
|
-
| inspektera
|
|
633
|
-
| dokumentera | .agentera/docs.yaml
|
|
634
|
-
| visualisera | DESIGN.md
|
|
635
|
-
| profilera
|
|
636
|
-
| inspirera
|
|
637
|
-
| orkestrera
|
|
638
|
-
| hej
|
|
676
|
+
| Skill | Expected artifact outputs |
|
|
677
|
+
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
678
|
+
| visionera | .agentera/vision.yaml |
|
|
679
|
+
| resonera | .agentera/decisions.yaml |
|
|
680
|
+
| planera | .agentera/plan.yaml |
|
|
681
|
+
| realisera | .agentera/progress.yaml, TODO.md, CHANGELOG.md |
|
|
682
|
+
| optimera | .agentera/optimera/<name>/experiments.yaml, .agentera/optimera/<name>/objective.yaml (paths are per-objective; staleness check uses glob `.agentera/optimera/*/experiments.yaml` and `.agentera/optimera/*/objective.yaml`) |
|
|
683
|
+
| inspektera | .agentera/health.yaml, TODO.md |
|
|
684
|
+
| dokumentera | .agentera/docs.yaml |
|
|
685
|
+
| visualisera | DESIGN.md |
|
|
686
|
+
| profilera | (profile-path capability) <!-- platform: profile-path --> |
|
|
687
|
+
| inspirera | (no owned artifact; findings are filed to TODO.md or fed into other skills) |
|
|
688
|
+
| orkestrera | (orchestrator; updates .agentera/plan.yaml task statuses and delegates to other skills) |
|
|
689
|
+
| hej | (router; reads artifacts but produces none) |
|
|
639
690
|
|
|
640
691
|
Skills that share an artifact (e.g., realisera and inspektera both write to TODO.md) are each expected to update it independently when dispatched. Staleness is checked per-skill, not per-artifact.
|
|
641
692
|
|
|
@@ -669,13 +720,13 @@ This gate is orthogonal to Section 19 Staleness Detection. Section 19 asks: did
|
|
|
669
720
|
|
|
670
721
|
### Evidence format
|
|
671
722
|
|
|
672
|
-
Every cycle entry in PROGRESS.md carries a `verified` field alongside phase, what,
|
|
723
|
+
Every cycle entry in PROGRESS.md carries a `verified` field alongside phase, what, inspiration, discovered, next, and context fields. The field is mandatory: no cycle is considered closed without it. The field accepts exactly one of three shapes:
|
|
673
724
|
|
|
674
|
-
| Shape
|
|
675
|
-
|
|
676
|
-
| Observed output
|
|
677
|
-
| Allowlisted N/A tag
|
|
678
|
-
| Free-form N/A rationale | A prose sentence of at least 8 words explaining specifically why the change has no observable behavior. Shorter rationales fail the gate
|
|
725
|
+
| Shape | Content |
|
|
726
|
+
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
727
|
+
| Observed output | A short transcript (or summary) of the primary entrypoint running against real project state, with the observable result recorded verbatim. The transcript should be concrete enough that a reader can tell whether the behavior actually happened |
|
|
728
|
+
| Allowlisted N/A tag | `N/A: <tag>` where `<tag>` is drawn from the enumerated allowlist below |
|
|
729
|
+
| Free-form N/A rationale | A prose sentence of at least 8 words explaining specifically why the change has no observable behavior. Shorter rationales fail the gate |
|
|
679
730
|
|
|
680
731
|
Observed output is always preferred when the change is runnable. The N/A paths exist only for genuinely unrunnable work; they are not an escape hatch for "I didn't feel like running it."
|
|
681
732
|
|
|
@@ -683,13 +734,13 @@ Observed output is always preferred when the change is runnable. The N/A paths e
|
|
|
683
734
|
|
|
684
735
|
Exactly five tags are recognized. Any other shorthand must fall through to the free-form rationale path.
|
|
685
736
|
|
|
686
|
-
| Tag
|
|
687
|
-
|
|
688
|
-
| `docs-only`
|
|
737
|
+
| Tag | Meaning |
|
|
738
|
+
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
739
|
+
| `docs-only` | The change touched only documentation files (README, spec, skill instructions, templates) with no code path affected |
|
|
689
740
|
| `refactor-no-behavior-change` | The change restructured code but preserved observable behavior exactly; the existing test suite is the verification surface |
|
|
690
|
-
| `chore-dep-bump`
|
|
691
|
-
| `chore-build-config`
|
|
692
|
-
| `test-only`
|
|
741
|
+
| `chore-dep-bump` | The change updated a dependency version without modifying any project code that calls that dependency differently |
|
|
742
|
+
| `chore-build-config` | The change modified build tooling, linter configuration, or packaging metadata without altering runtime behavior |
|
|
743
|
+
| `test-only` | The change added or adjusted tests without modifying the code under test |
|
|
693
744
|
|
|
694
745
|
A cycle that bundles runnable work with an N/A-tagged change still requires observed output for the runnable portion. The tag covers only the non-runnable slice.
|
|
695
746
|
|
|
@@ -697,14 +748,14 @@ A cycle that bundles runnable work with an N/A-tagged change still requires obse
|
|
|
697
748
|
|
|
698
749
|
"Primary entrypoint" is defined per project archetype, not asserted per cycle. When a cycle touches multiple subsystems, the primary entrypoint is the one most closely tied to the change under verification.
|
|
699
750
|
|
|
700
|
-
| Archetype
|
|
701
|
-
|
|
702
|
-
| CLI tool
|
|
703
|
-
| Library / SDK | Run a smoke driver (a short script or REPL session) that exercises the public API surface touched by the change
|
|
704
|
-
| Web service
|
|
705
|
-
| Skill repo
|
|
706
|
-
| Design system | Render a representative component against the real design tokens and visually inspect (screenshot or DOM snapshot) against the expected output
|
|
707
|
-
| Data pipeline | Run the pipeline against a real input sample (not synthetic fixtures) and record the observed output or side effects
|
|
751
|
+
| Archetype | Canonical entrypoint form |
|
|
752
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
753
|
+
| CLI tool | Invoke the binary with realistic arguments that exercise the changed path, capturing stdout/stderr and exit code |
|
|
754
|
+
| Library / SDK | Run a smoke driver (a short script or REPL session) that exercises the public API surface touched by the change |
|
|
755
|
+
| Web service | Send a request to a production-shaped endpoint (local server with production configuration or a staging instance) and record the response |
|
|
756
|
+
| Skill repo | Dispatch the skill via the eval mechanism capability (Section 21) against a representative prompt and capture the observed skill output <!-- platform: eval-mechanism --> |
|
|
757
|
+
| Design system | Render a representative component against the real design tokens and visually inspect (screenshot or DOM snapshot) against the expected output |
|
|
758
|
+
| Data pipeline | Run the pipeline against a real input sample (not synthetic fixtures) and record the observed output or side effects |
|
|
708
759
|
|
|
709
760
|
Projects with an archetype not listed here document their canonical entrypoint form in `.agentera/docs.yaml` under a `verification_entrypoint` key. The taxonomy is extensible; the table above is the minimum coverage.
|
|
710
761
|
|
|
@@ -720,9 +771,9 @@ Projects without a `verification_budget` key have no time cap. The default is: t
|
|
|
720
771
|
|
|
721
772
|
The gate is enforced independently by two skills; each holds a different phase and a different slice of the enforcement contract.
|
|
722
773
|
|
|
723
|
-
| Skill
|
|
724
|
-
|
|
725
|
-
| realisera
|
|
774
|
+
| Skill | Role | Phase | What it enforces |
|
|
775
|
+
| ---------- | ------------------ | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
776
|
+
| realisera | Primary enforcer | Cycle close | Runs the primary entrypoint against real project state and writes the observed output into the cycle's `verified` field. Blocks cycle completion if the field cannot be populated with observed output, an allowlisted tag, or a qualifying free-form rationale |
|
|
726
777
|
| orkestrera | Secondary enforcer | Task evaluation | Reads the latest PROGRESS.md cycle entry for the delegated task, confirms the `verified` field is present and non-empty (artifact read only; no source code read), and extends its inspektera delegation prompt to include the Section 20 evidence-format snippet so inspektera audits whether the recorded content corresponds to the task's acceptance criteria |
|
|
727
778
|
|
|
728
779
|
Realisera holds the primary enforcement contract because it is the skill that actually produces cycle entries. Orkestrera holds a lighter presence-and-quality check because it reads artifacts but never touches code; the full content audit is delegated to inspektera via the delegation prompt.
|
|
@@ -731,9 +782,16 @@ Realisera holds the primary enforcement contract because it is the skill that ac
|
|
|
731
782
|
|
|
732
783
|
## 22. Session Corpus Contract
|
|
733
784
|
|
|
734
|
-
Profilera mines decision patterns from host session data to produce PROFILE.md.
|
|
785
|
+
Profilera mines decision patterns from host session data to produce PROFILE.md.
|
|
786
|
+
Claude-specific entries in this legacy section describe the retired,
|
|
787
|
+
consent-gated historical importer only. They are inactive, excluded from default
|
|
788
|
+
analytics, and do not define runtime support. This section defines the normalized
|
|
789
|
+
data model that any active host adapter or explicit historical importer can produce.
|
|
735
790
|
|
|
736
|
-
The contract is a data model, not a path model. It specifies what profilera needs
|
|
791
|
+
The contract is a data model, not a path model. It specifies what profilera needs
|
|
792
|
+
to observe, not where the host stores it. Active runtimes produce normalized
|
|
793
|
+
records from their own storage; the retired Claude parser runs only after explicit
|
|
794
|
+
historical-import consent.
|
|
737
795
|
|
|
738
796
|
### Record types
|
|
739
797
|
|
|
@@ -743,17 +801,17 @@ Four canonical record families capture the decision-relevant signals profilera c
|
|
|
743
801
|
|
|
744
802
|
Every record includes these fields regardless of type:
|
|
745
803
|
|
|
746
|
-
| Field
|
|
747
|
-
|
|
748
|
-
| `source_id`
|
|
749
|
-
| `timestamp`
|
|
750
|
-
| `project_id`
|
|
751
|
-
| `project_path`
|
|
752
|
-
| `session_id`
|
|
753
|
-
| `source_kind`
|
|
754
|
-
| `runtime`
|
|
755
|
-
| `adapter_version` | Yes
|
|
756
|
-
| `data`
|
|
804
|
+
| Field | Required | Type | Purpose |
|
|
805
|
+
| ----------------- | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
806
|
+
| `source_id` | Yes | string | Stable identifier for deduplication across extractions |
|
|
807
|
+
| `timestamp` | Yes | string (ISO 8601) | When the record was created or observed |
|
|
808
|
+
| `project_id` | Yes | string | Project this record belongs to; `"global"` for non-project-scoped data |
|
|
809
|
+
| `project_path` | No | string | Filesystem path to the project, when available |
|
|
810
|
+
| `session_id` | No | string | Host session identifier, when applicable |
|
|
811
|
+
| `source_kind` | Yes | string | Which record family this record belongs to (one of the four portable names below, or a runtime extension name) |
|
|
812
|
+
| `runtime` | Yes | string | Host runtime that produced this record (e.g., `"claude-code"`, `"opencode"`) |
|
|
813
|
+
| `adapter_version` | Yes | string | Version of the adapter that extracted this record |
|
|
814
|
+
| `data` | Yes | object | Type-specific payload for this record |
|
|
757
815
|
|
|
758
816
|
The `source_id` field enables idempotent re-extraction: the same logical record produces the same `source_id` regardless of when extraction runs. The `runtime` and `adapter_version` fields enable profilera to handle schema variations across runtimes.
|
|
759
817
|
|
|
@@ -763,13 +821,13 @@ All fields listed in the record family tables below live inside `data`, not besi
|
|
|
763
821
|
|
|
764
822
|
Global or project-scoped instruction files the host exposes to agents. These encode recurring preferences, constraints, and standards.
|
|
765
823
|
|
|
766
|
-
| Field
|
|
767
|
-
|
|
768
|
-
| `doc_type`
|
|
769
|
-
| `name`
|
|
770
|
-
| `description` | No
|
|
771
|
-
| `content`
|
|
772
|
-
| `scope`
|
|
824
|
+
| Field | Required | Type | Purpose |
|
|
825
|
+
| ------------- | -------- | ------ | ----------------------------------------------------------------- |
|
|
826
|
+
| `doc_type` | Yes | string | Kind of instruction document (e.g., `"claude_md"`, `"agents_md"`) |
|
|
827
|
+
| `name` | Yes | string | Canonical name for this document |
|
|
828
|
+
| `description` | No | string | Human-readable summary |
|
|
829
|
+
| `content` | Yes | string | Full text content |
|
|
830
|
+
| `scope` | Yes | string | `"global"` or `"project"` |
|
|
773
831
|
|
|
774
832
|
Claude Code source: `~/.claude/CLAUDE.md`, `~/git/*/CLAUDE.md`, `~/git/*/AGENTS.md` <!-- platform: artifact-resolution -->
|
|
775
833
|
|
|
@@ -777,10 +835,10 @@ Claude Code source: `~/.claude/CLAUDE.md`, `~/git/*/CLAUDE.md`, `~/git/*/AGENTS.
|
|
|
777
835
|
|
|
778
836
|
Decision-rich prompts from the host's command history. These capture what the user asked, when, and in what project context.
|
|
779
837
|
|
|
780
|
-
| Field
|
|
781
|
-
|
|
782
|
-
| `prompt`
|
|
783
|
-
| `signal_type` | Yes
|
|
838
|
+
| Field | Required | Type | Purpose |
|
|
839
|
+
| ------------- | -------- | ------ | ------------------------------------------------------------- |
|
|
840
|
+
| `prompt` | Yes | string | The user's prompt text |
|
|
841
|
+
| `signal_type` | Yes | string | Classification: `"decision"`, `"correction"`, or `"question"` |
|
|
784
842
|
|
|
785
843
|
Claude Code source: `~/.claude/history.jsonl`, filtered by decision-pattern regex <!-- platform: artifact-resolution -->
|
|
786
844
|
|
|
@@ -788,12 +846,12 @@ Claude Code source: `~/.claude/history.jsonl`, filtered by decision-pattern rege
|
|
|
788
846
|
|
|
789
847
|
Normalized user or assistant turns from host conversation sessions. Profilera uses paired user-assistant exchanges to identify how decisions were made and corrected in context.
|
|
790
848
|
|
|
791
|
-
| Field
|
|
792
|
-
|
|
793
|
-
| `actor`
|
|
794
|
-
| `content`
|
|
795
|
-
| `preceding_context` | No
|
|
796
|
-
| `signal_type`
|
|
849
|
+
| Field | Required | Type | Purpose |
|
|
850
|
+
| ------------------- | -------- | ------ | ------------------------------------------------------------------------------------ |
|
|
851
|
+
| `actor` | Yes | string | `"user"` or `"assistant"` |
|
|
852
|
+
| `content` | Yes | string | Turn text content |
|
|
853
|
+
| `preceding_context` | No | string | Prior assistant proposal (for user turns that respond to a proposal) |
|
|
854
|
+
| `signal_type` | No | string | Classification of the user's response: `"decision"`, `"correction"`, or `"question"` |
|
|
797
855
|
|
|
798
856
|
Claude Code source: `~/.claude/projects/**/*.jsonl`, filtered for decision-rich exchanges <!-- platform: artifact-resolution -->
|
|
799
857
|
|
|
@@ -801,11 +859,11 @@ Claude Code source: `~/.claude/projects/**/*.jsonl`, filtered for decision-rich
|
|
|
801
859
|
|
|
802
860
|
Recurring configuration or toolchain patterns associated with a project. These are objective evidence of technology choices, linting standards, and build conventions.
|
|
803
861
|
|
|
804
|
-
| Field
|
|
805
|
-
|
|
806
|
-
| `config_type` | Yes
|
|
807
|
-
| `file_path`
|
|
808
|
-
| `signals`
|
|
862
|
+
| Field | Required | Type | Purpose |
|
|
863
|
+
| ------------- | -------- | --------------- | ---------------------------------------------------------------------------- |
|
|
864
|
+
| `config_type` | Yes | string | Kind of configuration file (e.g., `"gomod"`, `"golangci"`, `"package_json"`) |
|
|
865
|
+
| `file_path` | No | string | Path to the config file within the project |
|
|
866
|
+
| `signals` | Yes | array of string | Extracted key-value signals (dependencies, linters, targets, etc.) |
|
|
809
867
|
|
|
810
868
|
Claude Code source: `~/git/*/` config files scanned per known config type list <!-- platform: artifact-resolution -->
|
|
811
869
|
|
|
@@ -813,24 +871,24 @@ Claude Code source: `~/git/*/` config files scanned per known config type list <
|
|
|
813
871
|
|
|
814
872
|
The four portable record types group into four source families for profilera's consumption. The "Crystallized decisions" family is powered by instruction_document alone (durable, explicitly authored decisions). Runtime extensions may contribute additional record types to this family.
|
|
815
873
|
|
|
816
|
-
| Family
|
|
817
|
-
|
|
818
|
-
| Crystallized decisions | instruction_document
|
|
819
|
-
| Decision history
|
|
820
|
-
| Conversation exchanges | conversation_turn
|
|
821
|
-
| Config patterns
|
|
874
|
+
| Family | Record types | Signal character |
|
|
875
|
+
| ---------------------- | --------------------- | -------------------------------------------------------------- |
|
|
876
|
+
| Crystallized decisions | instruction_document | Highest signal: explicitly authored preferences and standards |
|
|
877
|
+
| Decision history | history_prompt | Broad coverage: what the user asked across all sessions |
|
|
878
|
+
| Conversation exchanges | conversation_turn | Most nuanced: how decisions were made and corrected in context |
|
|
879
|
+
| Config patterns | project_config_signal | Most objective: what technology and standards actually shipped |
|
|
822
880
|
|
|
823
881
|
### Degradation
|
|
824
882
|
|
|
825
883
|
Profilera operates in two modes: full (all four source families) and partial (one or more families missing). The degradation rules specify what profilera can produce given incomplete corpus availability.
|
|
826
884
|
|
|
827
|
-
| Available families
|
|
828
|
-
|
|
829
|
-
| All four
|
|
830
|
-
| Crystallized only
|
|
831
|
-
| Crystallized + one other
|
|
832
|
-
| History or conversations only (no crystallized) | Partial
|
|
833
|
-
| Config patterns only
|
|
885
|
+
| Available families | Profilera mode | Profile quality |
|
|
886
|
+
| ----------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
887
|
+
| All four | Full | Complete profile: all 12 categories, cross-validated confidence scores |
|
|
888
|
+
| Crystallized only | Partial | Instruction-heavy profile: strong in architecture/tooling standards, weak in process/workflow and meta-decision patterns |
|
|
889
|
+
| Crystallized + one other | Partial | Substantially complete: most categories populated, confidence scores may be lower for categories that depend on the missing family |
|
|
890
|
+
| History or conversations only (no crystallized) | Partial | Behavior-only profile: can infer patterns from actions but lacks explicit preferences. Confidence scores capped at 60 |
|
|
891
|
+
| Config patterns only | Minimal | Technology fingerprint only: tooling and dependency patterns, no behavioral decisions. Profilera should warn the user this is not a full profile |
|
|
834
892
|
|
|
835
893
|
**Degradation surface rule**: when a source family is missing, profilera MUST note which families were absent in the profile's source metadata comment. This lets consuming skills weight profile entries appropriately: a profile built from config patterns only should not be treated as authoritative for workflow decisions.
|
|
836
894
|
|
|
@@ -844,12 +902,12 @@ Adapters MAY define additional record types beyond the four portable ones to cap
|
|
|
844
902
|
|
|
845
903
|
Claude Code provides a built-in memory system that persists user and project memory as Markdown files with optional frontmatter at `~/.claude/projects/*/memory/*.md`. The Claude Code adapter extracts these as instruction_document records with `doc_type: "claude_memory"` rather than as a separate record type, keeping the portable corpus contract clean.
|
|
846
904
|
|
|
847
|
-
| Field
|
|
848
|
-
|
|
849
|
-
| `name`
|
|
850
|
-
| `description` | No
|
|
851
|
-
| `memory_type` | No
|
|
852
|
-
| `content`
|
|
905
|
+
| Field | Required | Type | Purpose |
|
|
906
|
+
| ------------- | -------- | ------ | ------------------------------------------ |
|
|
907
|
+
| `name` | Yes | string | Entry name or title |
|
|
908
|
+
| `description` | No | string | Summary from frontmatter |
|
|
909
|
+
| `memory_type` | No | string | Host-specific categorization |
|
|
910
|
+
| `content` | Yes | string | Full text content (body after frontmatter) |
|
|
853
911
|
|
|
854
912
|
When the Claude Code adapter encounters memory files, it emits them as instruction_document records with these additional conventions:
|
|
855
913
|
|
|
@@ -876,22 +934,22 @@ Both fields are required. A valid corpus file always contains exactly these two
|
|
|
876
934
|
|
|
877
935
|
The metadata object describes the extraction run, not the records themselves. It provides enough context for consumers to understand what runtimes contributed, how many records were produced, and whether any errors occurred.
|
|
878
936
|
|
|
879
|
-
| Field
|
|
880
|
-
|
|
881
|
-
| `extracted_at`
|
|
882
|
-
| `runtimes`
|
|
883
|
-
| `adapter_version` | Yes
|
|
884
|
-
| `families`
|
|
885
|
-
| `total_records`
|
|
886
|
-
| `errors`
|
|
937
|
+
| Field | Required | Type | Purpose |
|
|
938
|
+
| ----------------- | -------- | ----------------- | ---------------------------------------------------------------------------------- |
|
|
939
|
+
| `extracted_at` | Yes | string (ISO 8601) | When the extraction ran |
|
|
940
|
+
| `runtimes` | Yes | array of string | Runtime identifiers that were probed and found available (e.g., `["claude-code"]`) |
|
|
941
|
+
| `adapter_version` | Yes | string | Version of the corpus builder that produced this file |
|
|
942
|
+
| `families` | Yes | object | Per-source-family extraction summary (see below) |
|
|
943
|
+
| `total_records` | Yes | integer | Total number of records in the `records` array |
|
|
944
|
+
| `errors` | No | array of string | Human-readable error messages from extraction failures; omitted when empty |
|
|
887
945
|
|
|
888
946
|
The `families` object has one key per source family name (matching the four portable family names from the Source families table: `instruction_document`, `history_prompt`, `conversation_turn`, `project_config_signal`). Each value is an object:
|
|
889
947
|
|
|
890
|
-
| Field
|
|
891
|
-
|
|
892
|
-
| `count`
|
|
893
|
-
| `status` | Yes
|
|
894
|
-
| `error`
|
|
948
|
+
| Field | Required | Type | Purpose |
|
|
949
|
+
| -------- | -------- | ------- | -------------------------------------------------------------------------- |
|
|
950
|
+
| `count` | Yes | integer | Number of records extracted for this family |
|
|
951
|
+
| `status` | Yes | string | `"ok"`, `"partial"`, or `"missing"` |
|
|
952
|
+
| `error` | No | string | Explanation when status is `"partial"` or `"missing"`; omitted when `"ok"` |
|
|
895
953
|
|
|
896
954
|
A family with status `"ok"` extracted all records successfully. `"partial"` means some records were extracted but errors occurred during extraction. `"missing"` means the family could not be extracted at all (e.g., the runtime data directory was not found).
|
|
897
955
|
|
|
@@ -910,10 +968,10 @@ Consumers filter and group records by `source_kind` to access specific families.
|
|
|
910
968
|
"runtimes": ["claude-code"],
|
|
911
969
|
"adapter_version": "2.7.0",
|
|
912
970
|
"families": {
|
|
913
|
-
"instruction_document": {"count": 12, "status": "ok"},
|
|
914
|
-
"history_prompt": {"count": 87, "status": "ok"},
|
|
915
|
-
"conversation_turn": {"count": 234, "status": "ok"},
|
|
916
|
-
"project_config_signal": {"count": 5, "status": "ok"}
|
|
971
|
+
"instruction_document": { "count": 12, "status": "ok" },
|
|
972
|
+
"history_prompt": { "count": 87, "status": "ok" },
|
|
973
|
+
"conversation_turn": { "count": 234, "status": "ok" },
|
|
974
|
+
"project_config_signal": { "count": 5, "status": "ok" }
|
|
917
975
|
},
|
|
918
976
|
"total_records": 338,
|
|
919
977
|
"errors": []
|
|
@@ -945,8 +1003,8 @@ Before extracting records, the corpus builder probes for available runtimes by c
|
|
|
945
1003
|
|
|
946
1004
|
Each runtime registers a probe function that checks for the existence of its data directory. The probe returns a boolean indicating whether that runtime's data is available on the current system.
|
|
947
1005
|
|
|
948
|
-
| Runtime
|
|
949
|
-
|
|
1006
|
+
| Runtime | Probe path | What it checks |
|
|
1007
|
+
| ----------- | ------------ | ---------------------------------------------------------------------------------------------- |
|
|
950
1008
|
| Claude Code | `~/.claude/` | Directory exists and contains session data (e.g., `projects/` subdirectory or `history.jsonl`) |
|
|
951
1009
|
|
|
952
1010
|
Future runtimes add their own probe entries. The corpus builder iterates all registered probes, collects the list of available runtimes, and runs their extractors. Runtimes that are not detected are skipped without error.
|
|
@@ -979,10 +1037,10 @@ This gate is the entry-side complement to Section 20 (Behavioral Verification Ga
|
|
|
979
1037
|
|
|
980
1038
|
The gate applies to any skill that spawns a subagent with `isolation: "worktree"`. Currently two skills do this:
|
|
981
1039
|
|
|
982
|
-
| Skill
|
|
983
|
-
|
|
1040
|
+
| Skill | Spawn point | What it writes before spawn |
|
|
1041
|
+
| --------- | ----------------------------- | ------------------------------------------------------------------------------------- |
|
|
984
1042
|
| realisera | Step 5 (implementation spawn) | PLAN.md status updates, PROGRESS.md cycle start, context files from orient/plan steps |
|
|
985
|
-
| optimera
|
|
1043
|
+
| optimera | Experiment spawn step | EXPERIMENTS.md updates, OBJECTIVE.md refinements, harness configuration changes |
|
|
986
1044
|
|
|
987
1045
|
orkestrera delegates skills without worktree isolation (it runs realisera or other skills as background subagents in the same working directory). orkestrera is covered transitively: when realisera creates a worktree at its Step 5, the gate commits everything in the working tree, including any uncommitted changes orkestrera wrote before spawning realisera.
|
|
988
1046
|
|
|
@@ -1029,10 +1087,10 @@ This rule applies to all commits produced by any skill: checkpoint commits, real
|
|
|
1029
1087
|
|
|
1030
1088
|
The two gates form a coherent pair bracketing the worktree lifecycle:
|
|
1031
1089
|
|
|
1032
|
-
| Gate
|
|
1033
|
-
|
|
1034
|
-
| Pre-spawn Git Commit
|
|
1035
|
-
| Behavioral Verification Gate | 20
|
|
1090
|
+
| Gate | Section | Boundary | Question it answers |
|
|
1091
|
+
| ---------------------------- | ------- | ------------------------------- | --------------------------------------------- |
|
|
1092
|
+
| Pre-spawn Git Commit | 23 | Entry: before worktree creation | Does the subagent start from current state? |
|
|
1093
|
+
| Behavioral Verification Gate | 20 | Exit: after implementation | Did the work actually run against real state? |
|
|
1036
1094
|
|
|
1037
1095
|
Both gates are mandatory for worktree-spawned cycles. A cycle that passes Section 20 verification but skipped the Section 23 gate may have verified behavior built on stale context. A cycle that passes the Section 23 gate but skips Section 20 verification has current context but unverified output.
|
|
1038
1096
|
|