agentera 3.0.0-dev.5 → 3.0.0-dev.7
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 +4 -3
- package/bundle/extract-corpus-parity.json +23 -0
- package/bundle/references/adapters/cursor.md +10 -9
- package/bundle/references/adapters/opencode.md +26 -26
- package/bundle/references/adapters/package-registry.yaml +0 -1
- package/bundle/references/adapters/package-surface-characterization.md +1 -2
- package/bundle/references/adapters/runtime-adapter-characterization.md +1 -1
- package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
- package/bundle/references/adapters/runtime-feature-parity.md +2 -2
- package/bundle/references/analysis/benchmark.md +1 -1
- package/bundle/references/analysis/startup-measurement-contract.yaml +18 -18
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
- package/bundle/references/cli/agent-ready-state-contract.yaml +6 -6
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
- 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 +6 -6
- package/bundle/references/cli/routing-model.md +96 -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 +16 -0
- 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 +17 -12
- package/bundle/references/cli/vocabulary.md +316 -309
- package/bundle/references/meta/documentation-inventory.md +9 -3
- package/bundle/registry.json +13 -13
- package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
- package/bundle/skills/agentera/SKILL.md +99 -415
- 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/{planera.toml → discuss.toml} +3 -3
- package/bundle/skills/agentera/agents/{resonera.toml → document.toml} +3 -3
- package/bundle/skills/agentera/agents/{optimera.toml → optimize.toml} +2 -2
- 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/{inspektera → audit}/schemas/artifacts.yaml +10 -10
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +27 -27
- package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
- 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/{planera → plan}/schemas/validation.yaml +3 -3
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
- 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/{inspirera → research}/schemas/artifacts.yaml +5 -5
- 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 +10 -4
- 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/triggers.yaml +17 -3
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +7 -7
- package/bundle/skills/agentera/capability_schema_contract.yaml +178 -34
- package/bundle/skills/agentera/protocol.yaml +29 -29
- package/bundle/skills/agentera/references/contract.md +328 -319
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +9 -9
- 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 +5 -5
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +5 -5
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +40 -35
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
- package/dist/analytics/extractCorpus/cli.js +149 -0
- package/dist/analytics/extractCorpus/cli.js.map +1 -0
- package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/core.js +364 -0
- package/dist/analytics/extractCorpus/core.js.map +1 -0
- package/dist/analytics/extractCorpus/corpus.js +145 -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 +423 -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 +122 -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 +185 -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 +20 -20
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/capabilities/audit/instructions.js +6 -0
- package/dist/capabilities/audit/instructions.js.map +1 -0
- package/dist/capabilities/build/instructions.js +6 -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 +6 -0
- package/dist/capabilities/document/instructions.js.map +1 -0
- package/dist/capabilities/index.js +24 -24
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/inspirera/instructions.js +1 -1
- package/dist/capabilities/inspirera/instructions.js.map +1 -1
- package/dist/capabilities/optimize/instructions.js +6 -0
- package/dist/capabilities/optimize/instructions.js.map +1 -0
- package/dist/capabilities/orchestrate/instructions.js +6 -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/planera/instructions.js +1 -1
- package/dist/capabilities/planera/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js +6 -0
- package/dist/capabilities/profile/instructions.js.map +1 -0
- package/dist/capabilities/profilera/instructions.js +1 -1
- package/dist/capabilities/profilera/instructions.js.map +1 -1
- package/dist/capabilities/realisera/instructions.js +1 -1
- package/dist/capabilities/realisera/instructions.js.map +1 -1
- package/dist/capabilities/research/instructions.js +6 -0
- package/dist/capabilities/research/instructions.js.map +1 -0
- package/dist/capabilities/resonera/instructions.js +1 -1
- package/dist/capabilities/resonera/instructions.js.map +1 -1
- package/dist/capabilities/status/instructions.js +6 -0
- package/dist/capabilities/status/instructions.js.map +1 -0
- package/dist/capabilities/vision/instructions.js +6 -0
- package/dist/capabilities/vision/instructions.js.map +1 -0
- package/dist/capabilities/visionera/instructions.js +1 -1
- package/dist/capabilities/visionera/instructions.js.map +1 -1
- package/dist/capabilities/visualisera/instructions.js +3 -4
- package/dist/capabilities/visualisera/instructions.js.map +1 -1
- package/dist/cli/appContext.js +16 -17
- 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 +36 -0
- package/dist/cli/capabilityContext/bespoke.js.map +1 -0
- package/dist/cli/capabilityContext/build.js +177 -0
- package/dist/cli/capabilityContext/build.js.map +1 -0
- package/dist/cli/capabilityContext/closeout.js +230 -0
- package/dist/cli/capabilityContext/closeout.js.map +1 -0
- package/dist/cli/capabilityContext/contract.js +188 -0
- package/dist/cli/capabilityContext/contract.js.map +1 -0
- package/dist/cli/capabilityContext/evidence.js +456 -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 +107 -0
- package/dist/cli/capabilityContext/orchestration.js.map +1 -0
- package/dist/cli/capabilityContext/planState.js +271 -0
- package/dist/cli/capabilityContext/planState.js.map +1 -0
- package/dist/cli/capabilityContext/progress.js +103 -0
- package/dist/cli/capabilityContext/progress.js.map +1 -0
- package/dist/cli/capabilityContext/realisera.js +174 -0
- package/dist/cli/capabilityContext/realisera.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 +108 -0
- package/dist/cli/capabilityContext/slim.js.map +1 -0
- package/dist/cli/capabilityContext/startup.js +213 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -0
- package/dist/cli/capabilityContext/types.js +40 -0
- package/dist/cli/capabilityContext/types.js.map +1 -0
- package/dist/cli/capabilityContext.js +1 -2486
- 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 +84 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/capability.js +2 -2
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.js +1 -1
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js +17 -98
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/lint.js +4 -36
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/prime/bundleStatus.js +140 -0
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
- package/dist/cli/commands/prime/collectOrientationState.js +156 -0
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
- package/dist/cli/commands/prime/orientationOutput.js +210 -0
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
- package/dist/cli/commands/prime/routeOutput.js +50 -0
- package/dist/cli/commands/prime/routeOutput.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 -554
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +5 -2
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js +27 -10
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +24 -20
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +403 -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/experiments.js +68 -0
- package/dist/cli/commands/state/experiments.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/objective.js +69 -0
- package/dist/cli/commands/state/objective.js.map +1 -0
- package/dist/cli/commands/state/plan.js +173 -0
- package/dist/cli/commands/state/plan.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.js +7 -7
- package/dist/cli/commands/state.js.map +1 -1
- package/dist/cli/commands/validate.js +50 -100
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/verify.js +1 -1
- 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 +328 -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 +182 -0
- package/dist/cli/dispatch/index.js.map +1 -0
- package/dist/cli/dispatch/lifecycle.js +597 -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 +144 -0
- package/dist/cli/dispatch/state.js.map +1 -0
- package/dist/cli/dispatch.js +1 -1293
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/help.js +41 -8
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/orientation/attention.js +61 -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 +129 -78
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/prime-blob.js +1 -1
- package/dist/cli/startupCompletenessContract.js +56 -0
- package/dist/cli/startupCompletenessContract.js.map +1 -0
- package/dist/cli/stateQuery.js +9 -2
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/todoSeverity.js +19 -0
- package/dist/cli/todoSeverity.js.map +1 -0
- package/dist/core/envPaths.js +21 -0
- package/dist/core/envPaths.js.map +1 -0
- package/dist/core/git.js +43 -0
- package/dist/core/git.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/eval/evalSkills.js +17 -12
- 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 +8 -23
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js +269 -0
- package/dist/hooks/compaction/apply.js.map +1 -0
- package/dist/hooks/compaction/dryRun.js +183 -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 +258 -0
- package/dist/hooks/compaction/parse.js.map +1 -0
- package/dist/hooks/compaction/retention.js +199 -0
- package/dist/hooks/compaction/retention.js.map +1 -0
- package/dist/hooks/compaction/status.js +241 -0
- package/dist/hooks/compaction/status.js.map +1 -0
- package/dist/hooks/compaction/todoResolved.js +137 -0
- package/dist/hooks/compaction/todoResolved.js.map +1 -0
- package/dist/hooks/compaction/types.js +6 -0
- package/dist/hooks/compaction/types.js.map +1 -0
- package/dist/hooks/compaction.js +20 -20
- package/dist/hooks/compaction.js.map +1 -1
- 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 +18 -11
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +6 -12
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/todoLayout.js +177 -0
- package/dist/hooks/todoLayout.js.map +1 -0
- 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 +459 -0
- package/dist/hooks/validateArtifact/schema.js.map +1 -0
- package/dist/hooks/validateArtifact/traversal.js +106 -0
- package/dist/hooks/validateArtifact/traversal.js.map +1 -0
- package/dist/hooks/validateArtifact/violations.js +105 -0
- package/dist/hooks/validateArtifact/violations.js.map +1 -0
- package/dist/hooks/validateArtifact.js +29 -40
- package/dist/hooks/validateArtifact.js.map +1 -1
- package/dist/migrate/v2HandoffManifest.js +447 -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 +23 -9
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/capabilityContract.js +144 -1
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js +2 -2
- package/dist/registries/evaluatorHandoffContract.js.map +1 -1
- package/dist/registries/packageRegistry.js +4 -3
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/runtimeAdapterRegistry.js +5 -4
- 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 +235 -0
- package/dist/release/releaseMetadata.js.map +1 -0
- package/dist/routing/index.js +2 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/routeEngine.js +189 -0
- package/dist/routing/routeEngine.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 -1196
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/cursor.js +6 -4
- 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 +300 -0
- package/dist/setup/doctor/core.js.map +1 -0
- package/dist/setup/doctor/diagnostics.js +240 -0
- package/dist/setup/doctor/diagnostics.js.map +1 -0
- package/dist/setup/doctor/opencode.js +313 -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 -1296
- 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/smokeChecks.js +11 -11
- package/dist/setup/smokeChecks.js.map +1 -1
- package/dist/state/installRoot.js +49 -18
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/progressCommit.js +289 -0
- package/dist/state/progressCommit.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/upgrade/appContentRefresh.js +342 -0
- package/dist/upgrade/appContentRefresh.js.map +1 -0
- package/dist/upgrade/appModel.js +8 -6
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/bundleEvidence.js +34 -0
- package/dist/upgrade/bundleEvidence.js.map +1 -0
- package/dist/upgrade/channels.js +11 -4
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/cliProbe.js +22 -0
- package/dist/upgrade/cliProbe.js.map +1 -0
- package/dist/upgrade/coexistenceProbe.js +107 -0
- package/dist/upgrade/coexistenceProbe.js.map +1 -0
- package/dist/upgrade/compatibility.js +13 -4
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +165 -183
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.js +177 -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 +116 -0
- package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +57 -109
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +42 -7
- package/dist/upgrade/nextMajorDoctor.js.map +1 -1
- package/dist/upgrade/npxPlatformStatus.js +23 -0
- package/dist/upgrade/npxPlatformStatus.js.map +1 -0
- package/dist/upgrade/projectIntegration.js +69 -73
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +93 -0
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +169 -68
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/v3CapabilitySurface.js +15 -0
- package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
- package/dist/upgrade/versionResolution.js +8 -0
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +4 -4
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js +124 -11
- package/dist/validate/capability.js.map +1 -1
- package/dist/validate/crossCapability.js +1 -1
- 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 +488 -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 +13 -723
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/dist/validate/selfAudit.js +62 -20
- 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 +27 -24
- package/bundle/references/v1-section-mapping.md +0 -47
- 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/orkestrera.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/visionera.toml +0 -6
- package/bundle/skills/agentera/agents/visualisera.toml +0 -6
- 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/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/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
- /package/bundle/skills/agentera/capabilities/{visionera → vision}/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,14 +239,14 @@ 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
|
|
|
@@ -249,11 +258,11 @@ Growing artifacts are compacted to cap read cost for consuming skills. Compactio
|
|
|
249
258
|
|
|
250
259
|
**PROGRESS.md**, compacted by realisera when writing a new cycle entry:
|
|
251
260
|
|
|
252
|
-
| Tier
|
|
253
|
-
|
|
254
|
-
| Full detail
|
|
255
|
-
| One-line archive | Cycles 11 through 50
|
|
256
|
-
| Dropped
|
|
261
|
+
| Tier | Entries | Format |
|
|
262
|
+
| ---------------- | --------------------- | ---------------------------------------- |
|
|
263
|
+
| Full detail | 10 most recent cycles | Standard cycle entry format |
|
|
264
|
+
| One-line archive | Cycles 11 through 50 | `Cycle N (YYYY-MM-DD): ≤15-word summary` |
|
|
265
|
+
| Dropped | Cycles older than 50 | Removed entirely |
|
|
257
266
|
|
|
258
267
|
When writing a new cycle: if >10 full-detail entries exist, collapse the oldest to one-line format under an `## Archived Cycles` heading (below the recent cycles). If >40 one-line entries exist, drop the oldest. One-line summaries preserve cycle number, date, and work-type, enough for trend analysis by consuming skills.
|
|
259
268
|
|
|
@@ -261,21 +270,21 @@ Active cycle entries are stored newest-first: descending by cycle number. Insert
|
|
|
261
270
|
|
|
262
271
|
**EXPERIMENTS.md**, compacted by optimera when writing a new experiment:
|
|
263
272
|
|
|
264
|
-
| Tier
|
|
265
|
-
|
|
266
|
-
| Full detail
|
|
267
|
-
| One-line archive | Experiments 11 through 50
|
|
268
|
-
| Dropped
|
|
273
|
+
| Tier | Entries | Format |
|
|
274
|
+
| ---------------- | -------------------------- | -------------------------------- |
|
|
275
|
+
| Full detail | 10 most recent experiments | Standard experiment entry format |
|
|
276
|
+
| One-line archive | Experiments 11 through 50 | `EXP-N: ≤15-word result summary` |
|
|
277
|
+
| Dropped | Experiments older than 50 | Removed entirely |
|
|
269
278
|
|
|
270
279
|
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest one-line when >40 one-line entries exist. Archive section sits below recent experiments under an `## Archived Experiments` heading.
|
|
271
280
|
|
|
272
281
|
**DECISIONS.md**, compacted by resonera when writing a new decision:
|
|
273
282
|
|
|
274
|
-
| Tier
|
|
275
|
-
|
|
276
|
-
| Full detail
|
|
277
|
-
| One-line archive | Decisions 11 through 50
|
|
278
|
-
| Dropped
|
|
283
|
+
| Tier | Entries | Format |
|
|
284
|
+
| ---------------- | ------------------------ | ------------------------------------------------------ |
|
|
285
|
+
| Full detail | 10 most recent decisions | Standard decision entry format |
|
|
286
|
+
| One-line archive | Decisions 11 through 50 | `Decision N (YYYY-MM-DD): [Choice] — ≤15-word summary` |
|
|
287
|
+
| Dropped | Decisions older than 50 | Removed entirely |
|
|
279
288
|
|
|
280
289
|
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest one-line when >40 one-line entries exist. Archive section sits below recent decisions under an `## Archived Decisions` heading. One-line summaries preserve decision number, date, and the chosen alternative.
|
|
281
290
|
|
|
@@ -285,23 +294,23 @@ When writing a new decision, choose `N` as one greater than the highest decision
|
|
|
285
294
|
|
|
286
295
|
**HEALTH.md**, compacted by inspektera when writing a new audit:
|
|
287
296
|
|
|
288
|
-
| Tier
|
|
289
|
-
|
|
290
|
-
| Full detail
|
|
291
|
-
| One-line archive | Audits 11 through 50
|
|
292
|
-
| Dropped
|
|
297
|
+
| Tier | Entries | Format |
|
|
298
|
+
| ---------------- | --------------------- | -------------------------------------------------- |
|
|
299
|
+
| Full detail | 10 most recent audits | Standard audit entry format |
|
|
300
|
+
| One-line archive | Audits 11 through 50 | `Audit N (YYYY-MM-DD): [grade] — ≤15-word summary` |
|
|
301
|
+
| Dropped | Audits older than 50 | Removed entirely |
|
|
293
302
|
|
|
294
303
|
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest one-line when >40 one-line entries exist. Archive section sits below recent audits under an `## Archived Audits` heading. One-line summaries preserve audit number, date, overall grade, and trajectory.
|
|
295
304
|
|
|
296
305
|
**TODO.md Resolved section**, compacted by realisera when marking an item resolved:
|
|
297
306
|
|
|
298
|
-
| Tier
|
|
299
|
-
|
|
300
|
-
| Full detail
|
|
301
|
-
| One-line archive | Items 11 through 50
|
|
302
|
-
| Dropped
|
|
307
|
+
| Tier | Entries | Format |
|
|
308
|
+
| ---------------- | ----------------------------- | ------------------------------------------------ |
|
|
309
|
+
| Full detail | 10 most recent resolved items | Standard resolved entry format |
|
|
310
|
+
| One-line archive | Items 11 through 50 | `- [x] [type:train] ≤15-word resolution summary` |
|
|
311
|
+
| Dropped | Items older than 50 | Removed entirely |
|
|
303
312
|
|
|
304
|
-
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest one-line when >40 one-line entries exist. Compaction applies only within the `## Resolved` section; active severity sections are not affected.
|
|
313
|
+
Same logic: collapse oldest full-detail to one-line when >10 exist. Drop oldest one-line when >40 one-line entries exist. Compaction applies only within the `## ✓ Resolved` section; active severity sections are not affected.
|
|
305
314
|
|
|
306
315
|
## 5. Artifact Path Resolution
|
|
307
316
|
|
|
@@ -340,7 +349,7 @@ Skills that read the decision profile use one of two patterns:
|
|
|
340
349
|
### Script pattern (for skills that need confidence-weighted summaries)
|
|
341
350
|
|
|
342
351
|
```
|
|
343
|
-
Read `$
|
|
352
|
+
Read `$AGENTERA_PROFILE_DIR/PROFILE.md` directly
|
|
344
353
|
```
|
|
345
354
|
|
|
346
355
|
Run from the profilera skill directory. Mentioned skills: realisera, optimera, inspektera, planera, inspirera.
|
|
@@ -352,14 +361,14 @@ Standard threshold language (after migration to 0-100):
|
|
|
352
361
|
|
|
353
362
|
### Direct read pattern (for skills that need qualitative profile context)
|
|
354
363
|
|
|
355
|
-
Read PROFILE.md from the profilera-determined profile path (`$
|
|
364
|
+
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
365
|
|
|
357
366
|
Both patterns MUST include a fallback instruction:
|
|
358
367
|
"If the script or PROFILE.md is missing, proceed without persona grounding."
|
|
359
368
|
|
|
360
369
|
**Linter check**: Deterministic. Script invocation syntax, threshold values, fallback instruction presence.
|
|
361
370
|
|
|
362
|
-
|
|
371
|
+
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
372
|
|
|
364
373
|
## 11. Exit Signals
|
|
365
374
|
|
|
@@ -367,12 +376,12 @@ Every skill MUST report a completion status at the end of its workflow. This ena
|
|
|
367
376
|
|
|
368
377
|
### Statuses
|
|
369
378
|
|
|
370
|
-
| Status
|
|
371
|
-
|
|
372
|
-
| **complete** | All steps completed successfully
|
|
373
|
-
| **flagged**
|
|
374
|
-
| **stuck**
|
|
375
|
-
| **waiting**
|
|
379
|
+
| Status | Meaning | When to use |
|
|
380
|
+
| ------------ | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
381
|
+
| **complete** | All steps completed successfully | The skill's workflow ran to completion and all acceptance criteria (if any) were met |
|
|
382
|
+
| **flagged** | Completed, but with issues the user should know about | The workflow completed but discovered problems, made compromises, or has caveats worth surfacing |
|
|
383
|
+
| **stuck** | Cannot proceed | A hard blocker prevents completion: missing dependency, permission issue, ambiguous requirement too consequential to resolve autonomously |
|
|
384
|
+
| **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
385
|
|
|
377
386
|
### Rules
|
|
378
387
|
|
|
@@ -401,20 +410,20 @@ DESIGN.md is the source of truth for token definitions. This spec defines how sk
|
|
|
401
410
|
|
|
402
411
|
Each skill has a unique Unicode glyph used as a subtle signature in output.
|
|
403
412
|
|
|
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
|
|
413
|
+
| Skill | Glyph | Code | Meaning |
|
|
414
|
+
| ----------- | ----- | ------ | ---------------------- |
|
|
415
|
+
| hej | ⌂ | U+2302 | home base |
|
|
416
|
+
| realisera | ⧉ | U+29C9 | joined building blocks |
|
|
417
|
+
| inspektera | ⛶ | U+26F6 | viewfinder frame |
|
|
418
|
+
| resonera | ❈ | U+2748 | spark of insight |
|
|
419
|
+
| planera | ≡ | U+2261 | structured layers |
|
|
420
|
+
| visionera | ⛥ | U+26E5 | guiding star |
|
|
421
|
+
| optimera | ⎘ | U+2398 | measurement |
|
|
422
|
+
| dokumentera | ▤ | U+25A4 | text on page |
|
|
423
|
+
| profilera | ♾ | U+267E | permanent mark |
|
|
424
|
+
| inspirera | ⬚ | U+2B1A | frame to fill |
|
|
425
|
+
| visualisera | ◰ | U+25F0 | design grid |
|
|
426
|
+
| orkestrera | ⎈ | U+2388 | helm, steering |
|
|
418
427
|
|
|
419
428
|
### Semantic tokens
|
|
420
429
|
|
|
@@ -422,46 +431,46 @@ Six token families express status, urgency, certainty, and direction.
|
|
|
422
431
|
|
|
423
432
|
**Status** (task/item completion, square fill progression):
|
|
424
433
|
|
|
425
|
-
| State
|
|
426
|
-
|
|
427
|
-
| complete
|
|
428
|
-
| in-progress | ▣
|
|
429
|
-
| open
|
|
430
|
-
| blocked
|
|
434
|
+
| State | Glyph | Code |
|
|
435
|
+
| ----------- | ----- | ------ |
|
|
436
|
+
| complete | ■ | U+25A0 |
|
|
437
|
+
| in-progress | ▣ | U+25A3 |
|
|
438
|
+
| open | □ | U+25A1 |
|
|
439
|
+
| blocked | ▨ | U+25A8 |
|
|
431
440
|
|
|
432
441
|
**Severity** (issue priority, rightward arrows, more arrows = higher priority):
|
|
433
442
|
|
|
434
|
-
| Level
|
|
435
|
-
|
|
436
|
-
| critical | ⇶
|
|
437
|
-
| degraded | ⇉
|
|
438
|
-
| normal
|
|
439
|
-
| annoying | ⇢
|
|
443
|
+
| Level | Glyph | Code |
|
|
444
|
+
| -------- | ----- | ------ |
|
|
445
|
+
| critical | ⇶ | U+21F6 |
|
|
446
|
+
| degraded | ⇉ | U+21C9 |
|
|
447
|
+
| normal | → | U+2192 |
|
|
448
|
+
| annoying | ⇢ | U+21E2 |
|
|
440
449
|
|
|
441
450
|
**Confidence** (decision certainty, box-drawing line weight):
|
|
442
451
|
|
|
443
|
-
| Level
|
|
444
|
-
|
|
445
|
-
| firm
|
|
446
|
-
| provisional | ─
|
|
447
|
-
| exploratory | ┄
|
|
452
|
+
| Level | Glyph | Code |
|
|
453
|
+
| ----------- | ----- | ------ |
|
|
454
|
+
| firm | ━ | U+2501 |
|
|
455
|
+
| provisional | ─ | U+2500 |
|
|
456
|
+
| exploratory | ┄ | U+2504 |
|
|
448
457
|
|
|
449
458
|
**Trends** (direction of change):
|
|
450
459
|
|
|
451
|
-
| Direction | Glyph | Code
|
|
452
|
-
|
|
453
|
-
| improving | ⮉
|
|
454
|
-
| degrading | ⮋
|
|
460
|
+
| Direction | Glyph | Code |
|
|
461
|
+
| --------- | ----- | ------ |
|
|
462
|
+
| improving | ⮉ | U+2B89 |
|
|
463
|
+
| degrading | ⮋ | U+2B8B |
|
|
455
464
|
|
|
456
465
|
**Structural** (layout primitives):
|
|
457
466
|
|
|
458
|
-
| Element
|
|
459
|
-
|
|
460
|
-
| section divider
|
|
461
|
-
| list item
|
|
462
|
-
| inline separator | ·
|
|
463
|
-
| flow / target
|
|
464
|
-
| progress bar
|
|
467
|
+
| Element | Glyph/Pattern | Code |
|
|
468
|
+
| ---------------- | ------------------- | ---------------- |
|
|
469
|
+
| section divider | `─── label ───────` | U+2500 |
|
|
470
|
+
| list item | ▸ | U+25B8 |
|
|
471
|
+
| inline separator | · | U+00B7 |
|
|
472
|
+
| flow / target | → | U+2192 |
|
|
473
|
+
| progress bar | █▓░ | U+2588/2593/2591 |
|
|
465
474
|
|
|
466
475
|
### Composition rules
|
|
467
476
|
|
|
@@ -478,11 +487,11 @@ Six token families express status, urgency, certainty, and direction.
|
|
|
478
487
|
|
|
479
488
|
Three levels of visual dividers create a consistent hierarchy across skill output.
|
|
480
489
|
|
|
481
|
-
| Level
|
|
482
|
-
|
|
483
|
-
| Skill boundary | `─── glyph skillname · context ───` | Session opener, exit signal
|
|
484
|
-
| Step boundary
|
|
485
|
-
| Container
|
|
490
|
+
| Level | Pattern | Use |
|
|
491
|
+
| -------------- | ----------------------------------- | ------------------------------------- |
|
|
492
|
+
| Skill boundary | `─── glyph skillname · context ───` | Session opener, exit signal |
|
|
493
|
+
| Step boundary | `── step N/M: verb` | Workflow progress between steps |
|
|
494
|
+
| Container | `── label` | Mid-session blocks (scratchpad, etc.) |
|
|
486
495
|
|
|
487
496
|
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
497
|
|
|
@@ -548,15 +557,15 @@ Rules:
|
|
|
548
557
|
|
|
549
558
|
### Token-to-artifact mapping
|
|
550
559
|
|
|
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
|
|
560
|
+
| Artifact | Token families used |
|
|
561
|
+
| ------------ | ------------------------------------------------------------------- |
|
|
562
|
+
| PLAN.md | Status (■/▣/□/▨) for task states |
|
|
563
|
+
| TODO.md | Severity (⇶/⇉/→/⇢) in section headings, Status (□/■) via checkboxes |
|
|
564
|
+
| DECISIONS.md | Confidence (━/─/┄) alongside confidence labels |
|
|
565
|
+
| HEALTH.md | Trends (⮉/⮋) for trajectory, severity for findings |
|
|
566
|
+
| PROGRESS.md | Status (■) for cycle completion markers |
|
|
567
|
+
| VISION.md | Structural (▸, ·) for principles and direction |
|
|
568
|
+
| DOCS.md | Structural (▸, ·) for index, status tokens for coverage |
|
|
560
569
|
|
|
561
570
|
### Rules
|
|
562
571
|
|
|
@@ -574,25 +583,25 @@ Every realisera cycle operates in one of five phases. Phases map the suite's ski
|
|
|
574
583
|
|
|
575
584
|
### Phases
|
|
576
585
|
|
|
577
|
-
| Phase
|
|
578
|
-
|
|
579
|
-
| **envision**
|
|
580
|
-
| **deliberate** | resonera
|
|
581
|
-
| **plan**
|
|
582
|
-
| **build**
|
|
583
|
-
| **audit**
|
|
586
|
+
| Phase | Skills | Purpose |
|
|
587
|
+
| -------------- | --------------------------------------------- | ------------------------------------------------------------------- |
|
|
588
|
+
| **envision** | visionera | Define or refine the project's north star |
|
|
589
|
+
| **deliberate** | resonera | Reason through decisions before committing to a direction |
|
|
590
|
+
| **plan** | planera | Structure work into tasks with dependencies and acceptance criteria |
|
|
591
|
+
| **build** | realisera, optimera, dokumentera, visualisera | Implement, optimize, document, or design |
|
|
592
|
+
| **audit** | inspektera | Evaluate structural health and alignment |
|
|
584
593
|
|
|
585
594
|
### Transitions
|
|
586
595
|
|
|
587
596
|
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
597
|
|
|
589
|
-
| From
|
|
590
|
-
|
|
591
|
-
| envision
|
|
592
|
-
| deliberate | plan, build, envision
|
|
593
|
-
| plan
|
|
594
|
-
| build
|
|
595
|
-
| audit
|
|
598
|
+
| From | Valid successors |
|
|
599
|
+
| ---------- | --------------------------------- |
|
|
600
|
+
| envision | deliberate, plan, build |
|
|
601
|
+
| deliberate | plan, build, envision |
|
|
602
|
+
| plan | build, deliberate |
|
|
603
|
+
| build | build, audit, plan |
|
|
604
|
+
| audit | build, plan, deliberate, envision |
|
|
596
605
|
|
|
597
606
|
**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
607
|
|
|
@@ -622,20 +631,20 @@ Stale artifacts mislead routing decisions and cause skills to act on outdated co
|
|
|
622
631
|
|
|
623
632
|
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
633
|
|
|
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
|
|
634
|
+
| Skill | Expected artifact outputs |
|
|
635
|
+
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
636
|
+
| visionera | .agentera/vision.yaml |
|
|
637
|
+
| resonera | .agentera/decisions.yaml |
|
|
638
|
+
| planera | .agentera/plan.yaml |
|
|
639
|
+
| realisera | .agentera/progress.yaml, TODO.md, CHANGELOG.md |
|
|
640
|
+
| 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`) |
|
|
641
|
+
| inspektera | .agentera/health.yaml, TODO.md |
|
|
642
|
+
| dokumentera | .agentera/docs.yaml |
|
|
643
|
+
| visualisera | DESIGN.md |
|
|
644
|
+
| profilera | (profile-path capability) <!-- platform: profile-path --> |
|
|
645
|
+
| inspirera | (no owned artifact; findings are filed to TODO.md or fed into other skills) |
|
|
646
|
+
| orkestrera | (orchestrator; updates .agentera/plan.yaml task statuses and delegates to other skills) |
|
|
647
|
+
| hej | (router; reads artifacts but produces none) |
|
|
639
648
|
|
|
640
649
|
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
650
|
|
|
@@ -671,11 +680,11 @@ This gate is orthogonal to Section 19 Staleness Detection. Section 19 asks: did
|
|
|
671
680
|
|
|
672
681
|
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
682
|
|
|
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
|
|
683
|
+
| Shape | Content |
|
|
684
|
+
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
685
|
+
| 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 |
|
|
686
|
+
| Allowlisted N/A tag | `N/A: <tag>` where `<tag>` is drawn from the enumerated allowlist below |
|
|
687
|
+
| 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
688
|
|
|
680
689
|
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
690
|
|
|
@@ -683,13 +692,13 @@ Observed output is always preferred when the change is runnable. The N/A paths e
|
|
|
683
692
|
|
|
684
693
|
Exactly five tags are recognized. Any other shorthand must fall through to the free-form rationale path.
|
|
685
694
|
|
|
686
|
-
| Tag
|
|
687
|
-
|
|
688
|
-
| `docs-only`
|
|
695
|
+
| Tag | Meaning |
|
|
696
|
+
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
697
|
+
| `docs-only` | The change touched only documentation files (README, spec, skill instructions, templates) with no code path affected |
|
|
689
698
|
| `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`
|
|
699
|
+
| `chore-dep-bump` | The change updated a dependency version without modifying any project code that calls that dependency differently |
|
|
700
|
+
| `chore-build-config` | The change modified build tooling, linter configuration, or packaging metadata without altering runtime behavior |
|
|
701
|
+
| `test-only` | The change added or adjusted tests without modifying the code under test |
|
|
693
702
|
|
|
694
703
|
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
704
|
|
|
@@ -697,14 +706,14 @@ A cycle that bundles runnable work with an N/A-tagged change still requires obse
|
|
|
697
706
|
|
|
698
707
|
"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
708
|
|
|
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
|
|
709
|
+
| Archetype | Canonical entrypoint form |
|
|
710
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
711
|
+
| CLI tool | Invoke the binary with realistic arguments that exercise the changed path, capturing stdout/stderr and exit code |
|
|
712
|
+
| Library / SDK | Run a smoke driver (a short script or REPL session) that exercises the public API surface touched by the change |
|
|
713
|
+
| Web service | Send a request to a production-shaped endpoint (local server with production configuration or a staging instance) and record the response |
|
|
714
|
+
| 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 --> |
|
|
715
|
+
| Design system | Render a representative component against the real design tokens and visually inspect (screenshot or DOM snapshot) against the expected output |
|
|
716
|
+
| Data pipeline | Run the pipeline against a real input sample (not synthetic fixtures) and record the observed output or side effects |
|
|
708
717
|
|
|
709
718
|
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
719
|
|
|
@@ -720,9 +729,9 @@ Projects without a `verification_budget` key have no time cap. The default is: t
|
|
|
720
729
|
|
|
721
730
|
The gate is enforced independently by two skills; each holds a different phase and a different slice of the enforcement contract.
|
|
722
731
|
|
|
723
|
-
| Skill
|
|
724
|
-
|
|
725
|
-
| realisera
|
|
732
|
+
| Skill | Role | Phase | What it enforces |
|
|
733
|
+
| ---------- | ------------------ | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
734
|
+
| 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
735
|
| 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
736
|
|
|
728
737
|
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.
|
|
@@ -743,17 +752,17 @@ Four canonical record families capture the decision-relevant signals profilera c
|
|
|
743
752
|
|
|
744
753
|
Every record includes these fields regardless of type:
|
|
745
754
|
|
|
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`
|
|
755
|
+
| Field | Required | Type | Purpose |
|
|
756
|
+
| ----------------- | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
757
|
+
| `source_id` | Yes | string | Stable identifier for deduplication across extractions |
|
|
758
|
+
| `timestamp` | Yes | string (ISO 8601) | When the record was created or observed |
|
|
759
|
+
| `project_id` | Yes | string | Project this record belongs to; `"global"` for non-project-scoped data |
|
|
760
|
+
| `project_path` | No | string | Filesystem path to the project, when available |
|
|
761
|
+
| `session_id` | No | string | Host session identifier, when applicable |
|
|
762
|
+
| `source_kind` | Yes | string | Which record family this record belongs to (one of the four portable names below, or a runtime extension name) |
|
|
763
|
+
| `runtime` | Yes | string | Host runtime that produced this record (e.g., `"claude-code"`, `"opencode"`) |
|
|
764
|
+
| `adapter_version` | Yes | string | Version of the adapter that extracted this record |
|
|
765
|
+
| `data` | Yes | object | Type-specific payload for this record |
|
|
757
766
|
|
|
758
767
|
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
768
|
|
|
@@ -763,13 +772,13 @@ All fields listed in the record family tables below live inside `data`, not besi
|
|
|
763
772
|
|
|
764
773
|
Global or project-scoped instruction files the host exposes to agents. These encode recurring preferences, constraints, and standards.
|
|
765
774
|
|
|
766
|
-
| Field
|
|
767
|
-
|
|
768
|
-
| `doc_type`
|
|
769
|
-
| `name`
|
|
770
|
-
| `description` | No
|
|
771
|
-
| `content`
|
|
772
|
-
| `scope`
|
|
775
|
+
| Field | Required | Type | Purpose |
|
|
776
|
+
| ------------- | -------- | ------ | ----------------------------------------------------------------- |
|
|
777
|
+
| `doc_type` | Yes | string | Kind of instruction document (e.g., `"claude_md"`, `"agents_md"`) |
|
|
778
|
+
| `name` | Yes | string | Canonical name for this document |
|
|
779
|
+
| `description` | No | string | Human-readable summary |
|
|
780
|
+
| `content` | Yes | string | Full text content |
|
|
781
|
+
| `scope` | Yes | string | `"global"` or `"project"` |
|
|
773
782
|
|
|
774
783
|
Claude Code source: `~/.claude/CLAUDE.md`, `~/git/*/CLAUDE.md`, `~/git/*/AGENTS.md` <!-- platform: artifact-resolution -->
|
|
775
784
|
|
|
@@ -777,10 +786,10 @@ Claude Code source: `~/.claude/CLAUDE.md`, `~/git/*/CLAUDE.md`, `~/git/*/AGENTS.
|
|
|
777
786
|
|
|
778
787
|
Decision-rich prompts from the host's command history. These capture what the user asked, when, and in what project context.
|
|
779
788
|
|
|
780
|
-
| Field
|
|
781
|
-
|
|
782
|
-
| `prompt`
|
|
783
|
-
| `signal_type` | Yes
|
|
789
|
+
| Field | Required | Type | Purpose |
|
|
790
|
+
| ------------- | -------- | ------ | ------------------------------------------------------------- |
|
|
791
|
+
| `prompt` | Yes | string | The user's prompt text |
|
|
792
|
+
| `signal_type` | Yes | string | Classification: `"decision"`, `"correction"`, or `"question"` |
|
|
784
793
|
|
|
785
794
|
Claude Code source: `~/.claude/history.jsonl`, filtered by decision-pattern regex <!-- platform: artifact-resolution -->
|
|
786
795
|
|
|
@@ -788,12 +797,12 @@ Claude Code source: `~/.claude/history.jsonl`, filtered by decision-pattern rege
|
|
|
788
797
|
|
|
789
798
|
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
799
|
|
|
791
|
-
| Field
|
|
792
|
-
|
|
793
|
-
| `actor`
|
|
794
|
-
| `content`
|
|
795
|
-
| `preceding_context` | No
|
|
796
|
-
| `signal_type`
|
|
800
|
+
| Field | Required | Type | Purpose |
|
|
801
|
+
| ------------------- | -------- | ------ | ------------------------------------------------------------------------------------ |
|
|
802
|
+
| `actor` | Yes | string | `"user"` or `"assistant"` |
|
|
803
|
+
| `content` | Yes | string | Turn text content |
|
|
804
|
+
| `preceding_context` | No | string | Prior assistant proposal (for user turns that respond to a proposal) |
|
|
805
|
+
| `signal_type` | No | string | Classification of the user's response: `"decision"`, `"correction"`, or `"question"` |
|
|
797
806
|
|
|
798
807
|
Claude Code source: `~/.claude/projects/**/*.jsonl`, filtered for decision-rich exchanges <!-- platform: artifact-resolution -->
|
|
799
808
|
|
|
@@ -801,11 +810,11 @@ Claude Code source: `~/.claude/projects/**/*.jsonl`, filtered for decision-rich
|
|
|
801
810
|
|
|
802
811
|
Recurring configuration or toolchain patterns associated with a project. These are objective evidence of technology choices, linting standards, and build conventions.
|
|
803
812
|
|
|
804
|
-
| Field
|
|
805
|
-
|
|
806
|
-
| `config_type` | Yes
|
|
807
|
-
| `file_path`
|
|
808
|
-
| `signals`
|
|
813
|
+
| Field | Required | Type | Purpose |
|
|
814
|
+
| ------------- | -------- | --------------- | ---------------------------------------------------------------------------- |
|
|
815
|
+
| `config_type` | Yes | string | Kind of configuration file (e.g., `"gomod"`, `"golangci"`, `"package_json"`) |
|
|
816
|
+
| `file_path` | No | string | Path to the config file within the project |
|
|
817
|
+
| `signals` | Yes | array of string | Extracted key-value signals (dependencies, linters, targets, etc.) |
|
|
809
818
|
|
|
810
819
|
Claude Code source: `~/git/*/` config files scanned per known config type list <!-- platform: artifact-resolution -->
|
|
811
820
|
|
|
@@ -813,24 +822,24 @@ Claude Code source: `~/git/*/` config files scanned per known config type list <
|
|
|
813
822
|
|
|
814
823
|
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
824
|
|
|
816
|
-
| Family
|
|
817
|
-
|
|
818
|
-
| Crystallized decisions | instruction_document
|
|
819
|
-
| Decision history
|
|
820
|
-
| Conversation exchanges | conversation_turn
|
|
821
|
-
| Config patterns
|
|
825
|
+
| Family | Record types | Signal character |
|
|
826
|
+
| ---------------------- | --------------------- | -------------------------------------------------------------- |
|
|
827
|
+
| Crystallized decisions | instruction_document | Highest signal: explicitly authored preferences and standards |
|
|
828
|
+
| Decision history | history_prompt | Broad coverage: what the user asked across all sessions |
|
|
829
|
+
| Conversation exchanges | conversation_turn | Most nuanced: how decisions were made and corrected in context |
|
|
830
|
+
| Config patterns | project_config_signal | Most objective: what technology and standards actually shipped |
|
|
822
831
|
|
|
823
832
|
### Degradation
|
|
824
833
|
|
|
825
834
|
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
835
|
|
|
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
|
|
836
|
+
| Available families | Profilera mode | Profile quality |
|
|
837
|
+
| ----------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
838
|
+
| All four | Full | Complete profile: all 12 categories, cross-validated confidence scores |
|
|
839
|
+
| Crystallized only | Partial | Instruction-heavy profile: strong in architecture/tooling standards, weak in process/workflow and meta-decision patterns |
|
|
840
|
+
| Crystallized + one other | Partial | Substantially complete: most categories populated, confidence scores may be lower for categories that depend on the missing family |
|
|
841
|
+
| History or conversations only (no crystallized) | Partial | Behavior-only profile: can infer patterns from actions but lacks explicit preferences. Confidence scores capped at 60 |
|
|
842
|
+
| 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
843
|
|
|
835
844
|
**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
845
|
|
|
@@ -844,12 +853,12 @@ Adapters MAY define additional record types beyond the four portable ones to cap
|
|
|
844
853
|
|
|
845
854
|
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
855
|
|
|
847
|
-
| Field
|
|
848
|
-
|
|
849
|
-
| `name`
|
|
850
|
-
| `description` | No
|
|
851
|
-
| `memory_type` | No
|
|
852
|
-
| `content`
|
|
856
|
+
| Field | Required | Type | Purpose |
|
|
857
|
+
| ------------- | -------- | ------ | ------------------------------------------ |
|
|
858
|
+
| `name` | Yes | string | Entry name or title |
|
|
859
|
+
| `description` | No | string | Summary from frontmatter |
|
|
860
|
+
| `memory_type` | No | string | Host-specific categorization |
|
|
861
|
+
| `content` | Yes | string | Full text content (body after frontmatter) |
|
|
853
862
|
|
|
854
863
|
When the Claude Code adapter encounters memory files, it emits them as instruction_document records with these additional conventions:
|
|
855
864
|
|
|
@@ -876,22 +885,22 @@ Both fields are required. A valid corpus file always contains exactly these two
|
|
|
876
885
|
|
|
877
886
|
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
887
|
|
|
879
|
-
| Field
|
|
880
|
-
|
|
881
|
-
| `extracted_at`
|
|
882
|
-
| `runtimes`
|
|
883
|
-
| `adapter_version` | Yes
|
|
884
|
-
| `families`
|
|
885
|
-
| `total_records`
|
|
886
|
-
| `errors`
|
|
888
|
+
| Field | Required | Type | Purpose |
|
|
889
|
+
| ----------------- | -------- | ----------------- | ---------------------------------------------------------------------------------- |
|
|
890
|
+
| `extracted_at` | Yes | string (ISO 8601) | When the extraction ran |
|
|
891
|
+
| `runtimes` | Yes | array of string | Runtime identifiers that were probed and found available (e.g., `["claude-code"]`) |
|
|
892
|
+
| `adapter_version` | Yes | string | Version of the corpus builder that produced this file |
|
|
893
|
+
| `families` | Yes | object | Per-source-family extraction summary (see below) |
|
|
894
|
+
| `total_records` | Yes | integer | Total number of records in the `records` array |
|
|
895
|
+
| `errors` | No | array of string | Human-readable error messages from extraction failures; omitted when empty |
|
|
887
896
|
|
|
888
897
|
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
898
|
|
|
890
|
-
| Field
|
|
891
|
-
|
|
892
|
-
| `count`
|
|
893
|
-
| `status` | Yes
|
|
894
|
-
| `error`
|
|
899
|
+
| Field | Required | Type | Purpose |
|
|
900
|
+
| -------- | -------- | ------- | -------------------------------------------------------------------------- |
|
|
901
|
+
| `count` | Yes | integer | Number of records extracted for this family |
|
|
902
|
+
| `status` | Yes | string | `"ok"`, `"partial"`, or `"missing"` |
|
|
903
|
+
| `error` | No | string | Explanation when status is `"partial"` or `"missing"`; omitted when `"ok"` |
|
|
895
904
|
|
|
896
905
|
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
906
|
|
|
@@ -910,10 +919,10 @@ Consumers filter and group records by `source_kind` to access specific families.
|
|
|
910
919
|
"runtimes": ["claude-code"],
|
|
911
920
|
"adapter_version": "2.7.0",
|
|
912
921
|
"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"}
|
|
922
|
+
"instruction_document": { "count": 12, "status": "ok" },
|
|
923
|
+
"history_prompt": { "count": 87, "status": "ok" },
|
|
924
|
+
"conversation_turn": { "count": 234, "status": "ok" },
|
|
925
|
+
"project_config_signal": { "count": 5, "status": "ok" }
|
|
917
926
|
},
|
|
918
927
|
"total_records": 338,
|
|
919
928
|
"errors": []
|
|
@@ -945,8 +954,8 @@ Before extracting records, the corpus builder probes for available runtimes by c
|
|
|
945
954
|
|
|
946
955
|
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
956
|
|
|
948
|
-
| Runtime
|
|
949
|
-
|
|
957
|
+
| Runtime | Probe path | What it checks |
|
|
958
|
+
| ----------- | ------------ | ---------------------------------------------------------------------------------------------- |
|
|
950
959
|
| Claude Code | `~/.claude/` | Directory exists and contains session data (e.g., `projects/` subdirectory or `history.jsonl`) |
|
|
951
960
|
|
|
952
961
|
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 +988,10 @@ This gate is the entry-side complement to Section 20 (Behavioral Verification Ga
|
|
|
979
988
|
|
|
980
989
|
The gate applies to any skill that spawns a subagent with `isolation: "worktree"`. Currently two skills do this:
|
|
981
990
|
|
|
982
|
-
| Skill
|
|
983
|
-
|
|
991
|
+
| Skill | Spawn point | What it writes before spawn |
|
|
992
|
+
| --------- | ----------------------------- | ------------------------------------------------------------------------------------- |
|
|
984
993
|
| realisera | Step 5 (implementation spawn) | PLAN.md status updates, PROGRESS.md cycle start, context files from orient/plan steps |
|
|
985
|
-
| optimera
|
|
994
|
+
| optimera | Experiment spawn step | EXPERIMENTS.md updates, OBJECTIVE.md refinements, harness configuration changes |
|
|
986
995
|
|
|
987
996
|
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
997
|
|
|
@@ -1029,10 +1038,10 @@ This rule applies to all commits produced by any skill: checkpoint commits, real
|
|
|
1029
1038
|
|
|
1030
1039
|
The two gates form a coherent pair bracketing the worktree lifecycle:
|
|
1031
1040
|
|
|
1032
|
-
| Gate
|
|
1033
|
-
|
|
1034
|
-
| Pre-spawn Git Commit
|
|
1035
|
-
| Behavioral Verification Gate | 20
|
|
1041
|
+
| Gate | Section | Boundary | Question it answers |
|
|
1042
|
+
| ---------------------------- | ------- | ------------------------------- | --------------------------------------------- |
|
|
1043
|
+
| Pre-spawn Git Commit | 23 | Entry: before worktree creation | Does the subagent start from current state? |
|
|
1044
|
+
| Behavioral Verification Gate | 20 | Exit: after implementation | Did the work actually run against real state? |
|
|
1036
1045
|
|
|
1037
1046
|
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
1047
|
|