agentera 3.0.0-dev.6 → 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/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/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 +7 -7
- 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/capability-tool-classification.yaml +12 -12
- package/bundle/references/cli/coexistence-probe.yaml +4 -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/trigger-schema-enrichment.md +136 -0
- package/bundle/references/cli/update-channels.yaml +16 -1
- package/bundle/references/cli/upgrade-repair-wording.md +17 -3
- package/bundle/references/cli/vocabulary-index.yaml +17 -12
- package/bundle/references/cli/vocabulary.md +314 -309
- 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 +49 -1
- package/dist/analytics/extractCorpus/cli.js.map +1 -1
- package/dist/analytics/extractCorpus/copilotSessions.js +47 -5
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/core.js +19 -12
- package/dist/analytics/extractCorpus/core.js.map +1 -1
- package/dist/analytics/extractCorpus/corpus.js +26 -13
- package/dist/analytics/extractCorpus/corpus.js.map +1 -1
- package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
- package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
- package/dist/analytics/extractCorpus/index.js +3 -0
- package/dist/analytics/extractCorpus/index.js.map +1 -1
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js +98 -5
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
- package/dist/analytics/usageStats.js +19 -19
- 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 +23 -16
- package/dist/cli/capabilityContext/benchmark.js.map +1 -1
- package/dist/cli/capabilityContext/bespoke.js +20 -9
- package/dist/cli/capabilityContext/bespoke.js.map +1 -1
- package/dist/cli/capabilityContext/build.js +177 -0
- package/dist/cli/capabilityContext/build.js.map +1 -0
- package/dist/cli/capabilityContext/closeout.js +11 -11
- package/dist/cli/capabilityContext/closeout.js.map +1 -1
- package/dist/cli/capabilityContext/contract.js +24 -22
- package/dist/cli/capabilityContext/contract.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +35 -25
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/capabilityContext/index.js +1 -1
- package/dist/cli/capabilityContext/index.js.map +1 -1
- package/dist/cli/capabilityContext/orchestration.js +8 -8
- package/dist/cli/capabilityContext/orchestration.js.map +1 -1
- package/dist/cli/capabilityContext/planState.js +4 -4
- package/dist/cli/capabilityContext/planState.js.map +1 -1
- package/dist/cli/capabilityContext/progress.js +9 -2
- package/dist/cli/capabilityContext/progress.js.map +1 -1
- package/dist/cli/capabilityContext/realisera.js +21 -21
- package/dist/cli/capabilityContext/realisera.js.map +1 -1
- package/dist/cli/capabilityContext/shared.js +1 -1
- package/dist/cli/capabilityContext/shared.js.map +1 -1
- package/dist/cli/capabilityContext/slim.js +4 -2
- package/dist/cli/capabilityContext/slim.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +23 -18
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/capabilityContext/types.js +20 -23
- package/dist/cli/capabilityContext/types.js.map +1 -1
- package/dist/cli/capabilityContext.js +1 -1
- 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/capability.js +2 -2
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js +9 -107
- package/dist/cli/commands/doctor.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 +4 -1
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js +17 -9
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +23 -18
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +11 -5
- package/dist/cli/commands/state/decisions.js.map +1 -1
- package/dist/cli/commands/state/docs.js +8 -4
- package/dist/cli/commands/state/docs.js.map +1 -1
- package/dist/cli/commands/state/experiments.js +1 -0
- package/dist/cli/commands/state/experiments.js.map +1 -1
- package/dist/cli/commands/state/health.js +3 -1
- package/dist/cli/commands/state/health.js.map +1 -1
- package/dist/cli/commands/state/objective.js +1 -0
- package/dist/cli/commands/state/objective.js.map +1 -1
- package/dist/cli/commands/state/plan.js +2 -1
- package/dist/cli/commands/state/plan.js.map +1 -1
- package/dist/cli/commands/state/progress.js +1 -1
- package/dist/cli/commands/state/shared.js.map +1 -1
- package/dist/cli/commands/state/todo.js +1 -1
- package/dist/cli/commands/state/todo.js.map +1 -1
- package/dist/cli/commands/validate.js +21 -85
- 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 +19 -19
- package/dist/cli/dispatch/check.js.map +1 -1
- package/dist/cli/dispatch/commands.js +27 -0
- package/dist/cli/dispatch/commands.js.map +1 -0
- package/dist/cli/dispatch/index.js +6 -1
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js +160 -55
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/dispatch/prime.js +31 -27
- package/dist/cli/dispatch/prime.js.map +1 -1
- package/dist/cli/dispatch/state.js +11 -16
- package/dist/cli/dispatch/state.js.map +1 -1
- package/dist/cli/help.js +41 -6
- 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 +128 -77
- 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/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/compaction/apply.js +31 -6
- package/dist/hooks/compaction/apply.js.map +1 -1
- package/dist/hooks/compaction/dryRun.js +5 -3
- package/dist/hooks/compaction/dryRun.js.map +1 -1
- package/dist/hooks/compaction/index.js +2 -2
- package/dist/hooks/compaction/index.js.map +1 -1
- package/dist/hooks/compaction/parse.js +132 -3
- package/dist/hooks/compaction/parse.js.map +1 -1
- package/dist/hooks/compaction/retention.js +3 -1
- package/dist/hooks/compaction/retention.js.map +1 -1
- package/dist/hooks/compaction/status.js +7 -9
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/compaction/todoResolved.js +137 -0
- package/dist/hooks/compaction/todoResolved.js.map +1 -0
- package/dist/hooks/cursorSessionStart.js +10 -2
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/sessionStart.js +14 -7
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +3 -0
- 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/index.js +3 -1
- package/dist/hooks/validateArtifact/index.js.map +1 -1
- package/dist/hooks/validateArtifact/markdown.js +57 -6
- package/dist/hooks/validateArtifact/markdown.js.map +1 -1
- package/dist/hooks/validateArtifact/runtime.js +6 -3
- package/dist/hooks/validateArtifact/runtime.js.map +1 -1
- package/dist/hooks/validateArtifact/schema.js +15 -11
- package/dist/hooks/validateArtifact/schema.js.map +1 -1
- package/dist/hooks/validateArtifact/traversal.js +1 -0
- package/dist/hooks/validateArtifact/traversal.js.map +1 -1
- package/dist/hooks/validateArtifact/violations.js +2 -2
- package/dist/hooks/validateArtifact/violations.js.map +1 -1
- package/dist/migrate/v2HandoffManifest.js +119 -5
- package/dist/migrate/v2HandoffManifest.js.map +1 -1
- 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 +1 -1
- package/dist/release/releaseMetadata.js.map +1 -1
- 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/configToml.js +10 -15
- package/dist/setup/codex/configToml.js.map +1 -1
- package/dist/setup/codex/constants.js +12 -12
- package/dist/setup/codex/constants.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 +6 -6
- package/dist/setup/doctor/core.js.map +1 -1
- package/dist/setup/doctor/diagnostics.js +16 -23
- package/dist/setup/doctor/diagnostics.js.map +1 -1
- package/dist/setup/doctor/opencode.js +32 -0
- package/dist/setup/doctor/opencode.js.map +1 -1
- package/dist/setup/doctor/report.js +27 -76
- package/dist/setup/doctor/report.js.map +1 -1
- package/dist/setup/smokeChecks.js +10 -10
- 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/startupAnalysis/benchmark.js +22 -18
- package/dist/state/startupAnalysis/benchmark.js.map +1 -1
- package/dist/state/startupAnalysis/contract.js +5 -1
- package/dist/state/startupAnalysis/contract.js.map +1 -1
- package/dist/state/startupAnalysis/helpers.js +26 -71
- package/dist/state/startupAnalysis/helpers.js.map +1 -1
- package/dist/state/startupAnalysis/index.js.map +1 -1
- package/dist/state/startupAnalysis/metrics.js +25 -18
- package/dist/state/startupAnalysis/metrics.js.map +1 -1
- package/dist/state/startupAnalysis/records.js +13 -9
- package/dist/state/startupAnalysis/records.js.map +1 -1
- package/dist/state/startupAnalysis/report.js +26 -37
- package/dist/state/startupAnalysis/report.js.map +1 -1
- package/dist/state/startupAnalysis/threshold.js +6 -6
- package/dist/state/startupAnalysis/threshold.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 +29 -5
- package/dist/upgrade/coexistenceProbe.js.map +1 -1
- package/dist/upgrade/compatibility.js +13 -4
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +130 -187
- 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 -31
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +29 -9
- 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 -75
- 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 +156 -66
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/versionResolution.js +2 -2
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +1 -1
- 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/vocabularyAuthority.js +10 -5
- package/dist/validate/vocabularyAuthority.js.map +1 -1
- package/package.json +26 -23
- 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/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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "agentera-extract-corpus-parity-v1",
|
|
3
|
+
"adapter_version": "agentera-v2-corpus-1",
|
|
4
|
+
"max_sqlite_sessions": 60,
|
|
5
|
+
"max_sqlite_rows": 100000,
|
|
6
|
+
"max_tool_arg_text": 500,
|
|
7
|
+
"copilot_sparse_remediation": "/chronicle reindex",
|
|
8
|
+
"runtime_store_globs": {
|
|
9
|
+
"codex": "*.jsonl",
|
|
10
|
+
"claude-code": "*.jsonl",
|
|
11
|
+
"cursor": "*.jsonl",
|
|
12
|
+
"cursor-agent": "store.db",
|
|
13
|
+
"opencode": "opencode.db",
|
|
14
|
+
"github-copilot": "session-store.db"
|
|
15
|
+
},
|
|
16
|
+
"families": [
|
|
17
|
+
"instruction_document",
|
|
18
|
+
"history_prompt",
|
|
19
|
+
"conversation_turn",
|
|
20
|
+
"tool_call",
|
|
21
|
+
"project_config_signal"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -49,23 +49,24 @@ install steps also live in [`README.md`](../../README.md) and
|
|
|
49
49
|
This repository dogfoods committed Cursor surfaces:
|
|
50
50
|
|
|
51
51
|
- `.cursor/hooks.json` — sessionStart env export, preToolUse hard gate, postToolUse advisory validation
|
|
52
|
-
- `.cursor/agents
|
|
52
|
+
- `.cursor/agents/agentera.md` — single managed agent descriptor (D73)
|
|
53
53
|
- `.cursor-plugin/plugin.json` — marketplace submission-ready manifest
|
|
54
54
|
|
|
55
|
-
Hooks
|
|
56
|
-
`
|
|
57
|
-
subsequent hook executions
|
|
55
|
+
Hooks invoke the TypeScript CLI through `npx -y agentera hook …` (or
|
|
56
|
+
`npx -y agentera@next hook …` on the development channel). `sessionStart` exports
|
|
57
|
+
`AGENTERA_HOME` through Cursor hook JSON (`env`) before subsequent hook executions
|
|
58
|
+
run.
|
|
58
59
|
|
|
59
60
|
## AGENTERA_HOME wiring
|
|
60
61
|
|
|
61
|
-
Primary path: `
|
|
62
|
-
`AGENTERA_HOME`, project walk-up,
|
|
63
|
-
when
|
|
62
|
+
Primary path: `agentera hook cursor-session-start` resolves the install root from
|
|
63
|
+
`AGENTERA_HOME`, project walk-up, the plugin/checkout root, or the platform default
|
|
64
|
+
app home when env and walk-up do not resolve a managed root, then returns
|
|
64
65
|
`{"env": {"AGENTERA_HOME": "<root>"}}` plus optional `additional_context` from
|
|
65
66
|
the shared session digest.
|
|
66
67
|
|
|
67
|
-
Fallback: `
|
|
68
|
-
when live shell-tool smoke proves session env does not propagate to CLI
|
|
68
|
+
Fallback: `packages/cli/src/setup/cursor.ts` reports persistent shell configuration
|
|
69
|
+
only when live shell-tool smoke proves session env does not propagate to CLI
|
|
69
70
|
subprocesses. Agentera does not write shell rc files by default.
|
|
70
71
|
|
|
71
72
|
## Artifact validation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenCode Adapter
|
|
2
2
|
|
|
3
|
-
Maps agentera's host adapter contract (SPEC.md Section 21) and session corpus contract (SPEC.md Section 22) to OpenCode's specific mechanisms. A developer reading only this document can implement portable-core agentera support and a
|
|
3
|
+
Maps agentera's host adapter contract (SPEC.md Section 21) and session corpus contract (SPEC.md Section 22) to OpenCode's specific mechanisms. A developer reading only this document can implement portable-core agentera support and a profile-compatible session corpus in OpenCode without reading any skill entry file source code.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -17,7 +17,7 @@ Status: production reference (formerly design document).
|
|
|
17
17
|
| Skill install | Documented below | `npx skills add jgabor/agentera -g -a opencode --skill agentera -y` |
|
|
18
18
|
| Profile path | Documented below | `~/.config/opencode/profile/PROFILE.md` |
|
|
19
19
|
|
|
20
|
-
Routes exact bare text
|
|
20
|
+
Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path. The public docs page omits this hook, but `packages/plugin/src/index.ts` defines `"chat.message"` on the exported `Hooks` interface.
|
|
21
21
|
|
|
22
22
|
The plugin was promoted from `references/adapters/opencode-plugin.js` to `.opencode/plugins/agentera.js` and is now the production local-file location. Install it with:
|
|
23
23
|
|
|
@@ -56,7 +56,7 @@ OpenCode skill search paths:
|
|
|
56
56
|
- Global install: `npx skills add jgabor/agentera -g -a opencode --skill agentera -y`
|
|
57
57
|
- Project install: symlink or copy `skills/agentera/` into `.opencode/skills/agentera/` or `.agents/skills/agentera/`
|
|
58
58
|
|
|
59
|
-
Each Agentera skill entry file contains YAML frontmatter with `name` and `description`, which matches OpenCode's frontmatter requirements exactly. The OpenCode plugin adds one prompt transformation: when the complete user message is exactly bare text
|
|
59
|
+
Each Agentera skill entry file contains YAML frontmatter with `name` and `description`, which matches OpenCode's frontmatter requirements exactly. The OpenCode plugin adds one prompt transformation: when the complete user message is exactly bare text `/agentera`, `chat.message` rewrites it to load the bundled `agentera` skill and route through the `agentera prime` dashboard path. The match is exact except for OpenCode's CLI-added single trailing newline transport artifact, and does not apply to `/agentera plan`, `/agentera status`, attachments, or other message parts.
|
|
60
60
|
|
|
61
61
|
**OpenCode frontmatter validation** requires: `name` (1-64 chars, lowercase alphanumeric with single hyphens), `description` (1-1024 chars). Agentera entry point names are lowercase, matching the validation regex `^[a-z0-9]+(-[a-z0-9]+)*$`.
|
|
62
62
|
|
|
@@ -82,14 +82,14 @@ Each Agentera skill entry file contains YAML frontmatter with `name` and `descri
|
|
|
82
82
|
|
|
83
83
|
**Adapter approach**: Place PROFILE.md at `~/.config/opencode/profile/PROFILE.md` (or `~/.config/opencode/PROFILE.md` for simplicity). Update the profile-path references:
|
|
84
84
|
|
|
85
|
-
- Skills reference `$
|
|
85
|
+
- Skills reference `$AGENTERA_PROFILE_DIR/PROFILE.md` (default: `$XDG_DATA_HOME/agentera/PROFILE.md`) with `<!-- platform: profile-path -->` annotations
|
|
86
86
|
- The OpenCode adapter substitutes `~/.config/opencode/profile/PROFILE.md`
|
|
87
|
-
-
|
|
87
|
+
- Profile writes to this path when generating the profile
|
|
88
88
|
|
|
89
89
|
**Concrete substitution**: In contract.md files, the annotated line:
|
|
90
90
|
|
|
91
91
|
```
|
|
92
|
-
Read PROFILE.md from the
|
|
92
|
+
Read PROFILE.md from the profile-determined profile path (`$AGENTERA_PROFILE_DIR/PROFILE.md`, defaulting to `$XDG_DATA_HOME/agentera/PROFILE.md` on Linux). <!-- platform: profile-path -->
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
becomes in the OpenCode context:
|
|
@@ -112,14 +112,14 @@ Read PROFILE.md from the runtime-provided profile path (Section 21). In OpenCode
|
|
|
112
112
|
|
|
113
113
|
**Adapter approach**: Map agentera's worktree isolation to one of two strategies:
|
|
114
114
|
|
|
115
|
-
**Strategy A:
|
|
115
|
+
**Strategy A: Single agent dispatch (D73)**
|
|
116
116
|
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
- Descriptor frontmatter
|
|
120
|
-
- Agentera ownership is recorded in a body comment marker
|
|
121
|
-
- The OpenCode plugin copies
|
|
122
|
-
- The orchestrating skill (
|
|
117
|
+
- A single Agentera primary agent (`agentera.md`) in `.opencode/agents/`
|
|
118
|
+
- The agent loads the Agentera skill for routing, runs `agentera prime --context <capability> --format json` to fetch instructions, then dispatches to a built-in `general` subagent
|
|
119
|
+
- Descriptor frontmatter uses `description` and `mode: primary` with broad `permission` (write+bash allow)
|
|
120
|
+
- Agentera ownership is recorded in a body comment marker
|
|
121
|
+
- The OpenCode plugin copies the agent descriptor to `~/.config/opencode/agents/` on startup
|
|
122
|
+
- The orchestrating skill (build, orchestrate) uses `@agentera` to invoke work
|
|
123
123
|
- Limitation: runs in the same working tree, not isolated. Suitable for non-destructive work.
|
|
124
124
|
|
|
125
125
|
**Strategy B: Manual git worktree (full isolation parity)**
|
|
@@ -130,18 +130,18 @@ Read PROFILE.md from the runtime-provided profile path (Section 21). In OpenCode
|
|
|
130
130
|
- Provides true parallel implementation with independent branches
|
|
131
131
|
- Requires explicit orchestration in the skill workflow
|
|
132
132
|
|
|
133
|
-
**Concrete mapping for
|
|
133
|
+
**Concrete mapping for build Step 5 dispatch**:
|
|
134
134
|
|
|
135
135
|
```
|
|
136
136
|
# Claude Code (reference)
|
|
137
137
|
Spawn a Sonnet implementation agent in a worktree (isolation: "worktree")
|
|
138
138
|
|
|
139
139
|
# OpenCode Strategy A
|
|
140
|
-
Invoke the
|
|
140
|
+
Invoke the Agentera agent (@agentera) with the implementation plan
|
|
141
141
|
|
|
142
142
|
# OpenCode Strategy B
|
|
143
143
|
git worktree add ../worktree-branch branch-name
|
|
144
|
-
Dispatch
|
|
144
|
+
Dispatch @agentera with cwd set to ../worktree-branch
|
|
145
145
|
After completion: git merge, git worktree remove
|
|
146
146
|
```
|
|
147
147
|
|
|
@@ -182,7 +182,7 @@ opencode serve --port 4096
|
|
|
182
182
|
|-------------|----------|
|
|
183
183
|
| `claude -p "prompt"` | `opencode run "prompt"` |
|
|
184
184
|
| `claude -p --output-format json` | `opencode run --format json "prompt"` |
|
|
185
|
-
| `claude -p --skill
|
|
185
|
+
| `claude -p --skill build` | `opencode run "prompt"` (skill loaded via discovery) |
|
|
186
186
|
|
|
187
187
|
The agentera eval runner (`scripts/eval_skills.py`) would need an OpenCode dispatch mode that calls `opencode run --format json` instead of `claude -p --output-format json`. The dispatch wrapper:
|
|
188
188
|
|
|
@@ -207,10 +207,10 @@ def dispatch_opencode(skill_name: str, prompt: str) -> dict:
|
|
|
207
207
|
|---------------|----------------|-------|
|
|
208
208
|
| SessionStart | `event` hook with `event.type === "session.created"` | Observation only unless a supported context-injection hook is also used |
|
|
209
209
|
| Stop | `event` hook with `event.type === "session.idle"` | Fires when a session reaches idle state |
|
|
210
|
-
| Exact bare `
|
|
210
|
+
| Exact bare `/agentera` | `chat.message` | Rewrites only the complete text message `/agentera` so the bundled `agentera` skill owns the dashboard path |
|
|
211
211
|
| PreToolUse | `tool.execute.before` | Blocks invalid reconstructable artifact candidates by throwing an error |
|
|
212
212
|
| PostToolUse | `tool.execute.after` | Fires after every tool execution |
|
|
213
|
-
| Compaction context | `experimental.session.compacting` | Appends bounded Agentera state from `agentera
|
|
213
|
+
| Compaction context | `experimental.session.compacting` | Appends bounded Agentera state from `agentera prime --format json` |
|
|
214
214
|
|
|
215
215
|
OpenCode plugins subscribe to session events by exporting one generic `event` hook:
|
|
216
216
|
|
|
@@ -233,7 +233,7 @@ export const AgenteraPlugin = async ({ project, client, $, directory, worktree }
|
|
|
233
233
|
// PostToolUse equivalent: report validation warnings
|
|
234
234
|
},
|
|
235
235
|
"chat.message": async (input, output) => {
|
|
236
|
-
// Exact bare
|
|
236
|
+
// Exact bare /agentera prompt rewrite.
|
|
237
237
|
},
|
|
238
238
|
"experimental.session.compacting": async (input, output) => {
|
|
239
239
|
// Append bounded Agentera CLI state context.
|
|
@@ -248,17 +248,17 @@ Install-root semantics used by the plugin are contract-bound to `scripts/install
|
|
|
248
248
|
|
|
249
249
|
OpenCode runtime facts are owned by the RuntimeAdapter registry at `references/adapters/runtime-adapter-registry.yaml` and loaded through `scripts/runtime_adapter_registry.py`. This reference describes the OpenCode adapter behavior, but registry-owned values such as event support, artifact-validation claims, config targets, diagnostic labels, and documentation claims must be validated against the registry rather than changed here as an independent source. The install-root Module must keep package manifest registry and package metadata consolidation work outside its scope.
|
|
250
250
|
|
|
251
|
-
Registry parity claims: Blocks invalid reconstructable artifact candidates. Routes exact bare text
|
|
251
|
+
Registry parity claims: Blocks invalid reconstructable artifact candidates. Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path.
|
|
252
252
|
|
|
253
253
|
1. **SessionStart** (`event.type === "session.created"`): Observe session creation through the event hook. Session-start context preload remains deferred because no supported model-context injection path is verified for this adapter. Do not attach dead preload code to event observation alone.
|
|
254
254
|
|
|
255
255
|
2. **PreToolUse** (`tool.execute.before`): When `write` or `edit` args expose a path plus candidate content or exact replacement evidence, validate the candidate through `hooks/validate_artifact.py`. Throw an error to block invalid artifact content before mutation. Sparse payloads and `apply_patch` `patchText` without reconstructed full content are allowed rather than guessed.
|
|
256
256
|
|
|
257
|
-
3. **Exact bare
|
|
257
|
+
3. **Exact bare `/agentera`** (`chat.message`): If the incoming user message has exactly one meaningful text part and that text is exactly `/agentera` after removing only OpenCode's CLI-added single trailing newline transport artifact, replace that text with an Agentera routing prompt that preserves the original-message fact and instructs the agent to run `agentera prime` instead of replying with a generic greeting. This is intentionally not a broad greeting detector.
|
|
258
258
|
|
|
259
259
|
4. **PostToolUse** (`tool.execute.after`): After `write` or `edit`, run the shared artifact validator for warnings. This is advisory because the mutation already happened.
|
|
260
260
|
|
|
261
|
-
5. **Compaction context** (`experimental.session.compacting`): Before OpenCode compacts a session, append a bounded Agentera project-state summary generated by `agentera
|
|
261
|
+
5. **Compaction context** (`experimental.session.compacting`): Before OpenCode compacts a session, append a bounded Agentera project-state summary generated by `agentera prime --format json`. This hook is CLI-first by design and does not read `.agentera` artifacts directly.
|
|
262
262
|
|
|
263
263
|
6. **Stop** (`event.type === "session.idle"`): Append a runtime-local bookmark entry under the Agentera data directory capturing artifact changes for next-session continuity.
|
|
264
264
|
|
|
@@ -336,7 +336,7 @@ The SDK exposes message history with timestamps, project context, and session me
|
|
|
336
336
|
1. Enumerate sessions via `opencode session list --format json`
|
|
337
337
|
2. Export each session via `opencode export [sessionID]`
|
|
338
338
|
3. Filter for user-originated messages from the export JSON
|
|
339
|
-
4. Apply decision-pattern regex (same patterns
|
|
339
|
+
4. Apply decision-pattern regex (same patterns profile uses for Claude Code history) to classify prompts as `"decision"`, `"correction"`, or `"question"`
|
|
340
340
|
5. Produce history_prompt records with session and project metadata
|
|
341
341
|
|
|
342
342
|
```python
|
|
@@ -438,7 +438,7 @@ Summary of which corpus families the OpenCode adapter can produce:
|
|
|
438
438
|
| Conversation exchanges | conversation_turn | Yes (CLI) | `opencode export [sessionID]` provides full session JSON with paired user-assistant turns |
|
|
439
439
|
| Config patterns | project_config_signal | Yes | Direct filesystem scan, identical to Claude Code |
|
|
440
440
|
|
|
441
|
-
**Initial port
|
|
441
|
+
**Initial port profile mode**: Full. All four source families are available via included OpenCode functionality. Crystallized decisions come from AGENTS.md files and instructions config. Decision history and conversation exchanges come from `opencode export` CLI output. Config patterns come from direct filesystem scan.
|
|
442
442
|
|
|
443
443
|
---
|
|
444
444
|
|
|
@@ -510,7 +510,7 @@ OpenCode repair is ownership-gated. Managed slash commands include `agentera_man
|
|
|
510
510
|
|
|
511
511
|
| Gap | Impact | Mitigation |
|
|
512
512
|
|-----|--------|------------|
|
|
513
|
-
| Sub-agent dispatch lacks built-in worktree isolation |
|
|
513
|
+
| Sub-agent dispatch lacks built-in worktree isolation | build/orchestrate run in same working tree | Strategy A (Task tool) for initial port; manual `git worktree` commands for full isolation |
|
|
514
514
|
| `opencode run --format json` event schema differs from `claude -p --output-format json` | Eval runner needs a separate JSON event parser | Implement an OpenCode-specific parser module in eval_skills.py; event stream structure is straightforward |
|
|
515
515
|
| Session history requires JSON event schema mapping | history_prompt and conversation_turn need export parser | `opencode export [sessionID]` provides full session JSON; adapter parses the export output |
|
|
516
516
|
| Python scripts require Python runtime | Hook plugin calls Python via shell | Python is already a prerequisite for agentera scripts |
|
|
@@ -39,7 +39,7 @@ Characterized runtime actions:
|
|
|
39
39
|
| Codex CLI | `copy-agent` | `~/.codex/agents/*.toml` | `pending` | copies managed capability descriptors, then reports `runtime update applied` |
|
|
40
40
|
| Copilot CLI | `configure` | none | `noop` | no local config write; use per-invocation `AGENTERA_HOME` |
|
|
41
41
|
| OpenCode | `copy-plugin` | `~/.config/opencode/plugins/agentera.js` | `pending` | copies plugin, then reports `runtime update applied` |
|
|
42
|
-
| OpenCode | `copy-agent` | `~/.config/opencode/agents
|
|
42
|
+
| OpenCode | `copy-agent` | `~/.config/opencode/agents/agentera.md` | `pending` | copies single managed agent descriptor (D73), then reports `runtime update applied` |
|
|
43
43
|
|
|
44
44
|
Package-phase items currently expose `runtime`, `action`, `command`, `status`,
|
|
45
45
|
and `message`. Without `--update-packages`, package items are `skipped`; with it,
|
|
@@ -125,12 +125,12 @@ records:
|
|
|
125
125
|
payload_reconstruction_limitations:
|
|
126
126
|
- Sparse payloads and apply_patch patchText without reconstructed full content are allowed.
|
|
127
127
|
subagent_dispatch:
|
|
128
|
-
mechanism: OpenCode .opencode/agents
|
|
128
|
+
mechanism: OpenCode .opencode/agents single primary agent (D73)
|
|
129
129
|
setup_targets:
|
|
130
130
|
- ~/.config/opencode/agents
|
|
131
131
|
descriptor_sources:
|
|
132
|
-
- .opencode/agents
|
|
133
|
-
invocation_pattern: Use
|
|
132
|
+
- .opencode/agents/agentera.md
|
|
133
|
+
invocation_pattern: Use @agentera for the single Agentera primary agent; routing via skill, dispatch to general subagent.
|
|
134
134
|
tool_configuration: per_agent_permission
|
|
135
135
|
limitations:
|
|
136
136
|
- OpenCode descriptor bootstrap is file-based and preserves user-owned descriptor collisions.
|
|
@@ -152,6 +152,8 @@ records:
|
|
|
152
152
|
- opencode_managed_commands
|
|
153
153
|
- opencode_skill_paths
|
|
154
154
|
- bundled_support_references
|
|
155
|
+
- profile_dir_deprecated
|
|
156
|
+
- profile_dir_schema_literal
|
|
155
157
|
status_labels:
|
|
156
158
|
- pass
|
|
157
159
|
- warn
|
|
@@ -174,13 +176,17 @@ records:
|
|
|
174
176
|
- OpenCode Agentera skill paths are missing or broken
|
|
175
177
|
- bundled support references validate separately from installer status
|
|
176
178
|
- bundled reference validation mismatch found despite installer status
|
|
179
|
+
- profile dir env var is current
|
|
180
|
+
- v2 env var PROFILERA_PROFILE_DIR detected; run `agentera upgrade` to migrate to AGENTERA_PROFILE_DIR
|
|
181
|
+
- OpenCode plugin profile-dir schema is current
|
|
182
|
+
- OpenCode plugin source uses unmigrated profile-dir schema literal (PROFILERA_PROFILE_DIR without AGENTERA_PROFILE_DIR); run `agentera upgrade`
|
|
177
183
|
documentation_claims:
|
|
178
184
|
reference_paths:
|
|
179
185
|
- references/adapters/runtime-feature-parity.md
|
|
180
186
|
- references/adapters/opencode.md
|
|
181
187
|
parity_claims:
|
|
182
188
|
- Blocks invalid reconstructable artifact candidates.
|
|
183
|
-
- Routes exact bare text
|
|
189
|
+
- Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path.
|
|
184
190
|
install_claims:
|
|
185
191
|
- OpenCode plugin is copied to the native plugin path.
|
|
186
192
|
known_drifts:
|
|
@@ -217,7 +223,7 @@ records:
|
|
|
217
223
|
postToolUse: supported
|
|
218
224
|
errorOccurred: supported
|
|
219
225
|
limitations:
|
|
220
|
-
-
|
|
226
|
+
- Profile exposes bounded corpus metadata limits with missing source families.
|
|
221
227
|
artifact_validation:
|
|
222
228
|
validation_events:
|
|
223
229
|
- preToolUse
|
|
@@ -397,7 +403,7 @@ records:
|
|
|
397
403
|
stop: supported
|
|
398
404
|
limitations:
|
|
399
405
|
- Cloud agents are unsupported in v1; repo hooks and managed agents target local IDE sessions only.
|
|
400
|
-
- Bare text
|
|
406
|
+
- Bare text /agentera routing is metadata-only; sessionStart injects context but does not rewrite prompts.
|
|
401
407
|
artifact_validation:
|
|
402
408
|
validation_events:
|
|
403
409
|
- preToolUse
|
|
@@ -406,12 +412,12 @@ records:
|
|
|
406
412
|
payload_reconstruction_limitations:
|
|
407
413
|
- Malformed, sparse, or non-reconstructable tool_input payloads are allowed.
|
|
408
414
|
subagent_dispatch:
|
|
409
|
-
mechanism: Cursor .cursor/agents
|
|
415
|
+
mechanism: Cursor .cursor/agents single agent descriptor (D73)
|
|
410
416
|
setup_targets:
|
|
411
417
|
- .cursor/agents
|
|
412
418
|
descriptor_sources:
|
|
413
|
-
- .cursor/agents
|
|
414
|
-
invocation_pattern: Use the Cursor agent picker or @-mention the
|
|
419
|
+
- .cursor/agents/agentera.md
|
|
420
|
+
invocation_pattern: Use the Cursor agent picker or @-mention the single Agentera agent; routing via skill, dispatch to general subagent.
|
|
415
421
|
tool_configuration: global_full_access
|
|
416
422
|
limitations:
|
|
417
423
|
- Cloud agent sessions do not load project hooks or managed agents in v1.
|
|
@@ -545,4 +551,4 @@ records:
|
|
|
545
551
|
- cursor-agent inherits IDE hook wiring only when run inside a workspace with installed Cursor surfaces.
|
|
546
552
|
known_drifts:
|
|
547
553
|
- CLI hook and session env parity is degraded relative to Cursor IDE.
|
|
548
|
-
- Bare text
|
|
554
|
+
- Bare text /agentera routing is metadata-only like Claude, Copilot, and Codex.
|
|
@@ -75,10 +75,10 @@ before mutation.
|
|
|
75
75
|
| Runtime | Dispatch surface | Descriptor source | Tool Access | Verification surface |
|
|
76
76
|
|---------|------------------|-------------------|-------------|----------------------|
|
|
77
77
|
| Claude Code | Native Task/subagent surface | Host-managed; no Agentera descriptor files shipped for this phase | None (no descriptors) | RuntimeAdapter registry |
|
|
78
|
-
| OpenCode |
|
|
78
|
+
| OpenCode | Single `agentera` primary agent with `general` subagent dispatch | `.opencode/agents/agentera.md`, bootstrapped by `.opencode/plugins/agentera.js` | Per-agent `permission` frontmatter (broad: write+bash allow) | `scripts/smoke_opencode_bootstrap.mjs`, `agentera validate descriptors` |
|
|
79
79
|
| Copilot CLI | User-driven host action such as `/fleet` when available | Host-managed; no Agentera descriptor files shipped for this phase | N/A (no descriptors) | RuntimeAdapter registry |
|
|
80
80
|
| Codex CLI | Native agent descriptors under `~/.codex/agents` or project `.codex/agents` with bounded `[agents]` settings | `skills/agentera/agents/*.toml`, installed by `scripts/setup_codex.py` and `agentera upgrade` | Global sandbox policy (no per-agent) | `agentera validate descriptors`, `tests/test_setup_codex.py`, `tests/test_upgrade_cli.py` |
|
|
81
|
-
| Cursor IDE |
|
|
81
|
+
| Cursor IDE | Single `agentera` agent with `general` subagent dispatch | `.cursor/agents/agentera.md`, via local plugin or `agentera upgrade --runtime cursor` | Global full access (no per-agent) | `references/adapters/cursor.md`, `scripts/validate_lifecycle_adapters.py`, `tests/test_upgrade_cli.py` |
|
|
82
82
|
| Cursor Agent CLI | Host-managed `cursor-agent -p` print mode | Workspace `.cursor/agents/*.md` when present; no separate CLI descriptor install | Global full access (no per-agent) | `scripts/eval_skills.py --runtime cursor-agent`, `tests/test_eval_skills.py` |
|
|
83
83
|
|
|
84
84
|
Agentera v2 does not write legacy `[agents.<name>]` Codex config blocks. Capability dispatch must use runtime-native subagent descriptors or host Task surfaces, not unsupported `agentera <capability>` CLI commands.
|
|
@@ -121,7 +121,7 @@ Follow this loop:
|
|
|
121
121
|
by `raw_artifact_access_after_cli_counts` when the read is not redundant yet
|
|
122
122
|
but still happens after a successful CLI state call.
|
|
123
123
|
4. Map each repeated raw read to the CLI state owner. Prefer enriching existing
|
|
124
|
-
|
|
124
|
+
routine commands or the `prime` composite startup result. Do not add Decision 43
|
|
125
125
|
slash-route aliases as CLI commands.
|
|
126
126
|
5. Make CLI completeness explicit. A startup-capable response should say whether
|
|
127
127
|
it is complete for the requested capability, whether raw artifact reads are
|
|
@@ -90,16 +90,16 @@ runtime_extraction_contract:
|
|
|
90
90
|
parsing encountered schema errors. This is extraction failure evidence,
|
|
91
91
|
not a successful zero-record benchmark window.
|
|
92
92
|
required_counts:
|
|
93
|
-
-
|
|
93
|
+
- file_count when discovery can count store files
|
|
94
94
|
- record_count, which may be zero or partial
|
|
95
95
|
- error_count greater than zero
|
|
96
96
|
current_examples:
|
|
97
97
|
- runtime: claude-code
|
|
98
|
-
|
|
98
|
+
file_count: 4836
|
|
99
99
|
record_count: 0
|
|
100
100
|
error_count: 2
|
|
101
101
|
- runtime: github-copilot
|
|
102
|
-
|
|
102
|
+
file_count: 1
|
|
103
103
|
record_count: 0
|
|
104
104
|
error_count: 1
|
|
105
105
|
no_matching_records:
|
|
@@ -110,7 +110,7 @@ runtime_extraction_contract:
|
|
|
110
110
|
shape, but no supported message or tool records were extracted. This is
|
|
111
111
|
sparse coverage evidence and remains distinct from schema divergence.
|
|
112
112
|
required_counts:
|
|
113
|
-
-
|
|
113
|
+
- file_count when discovery can count store files
|
|
114
114
|
- "record_count: 0"
|
|
115
115
|
- no error_count greater than zero
|
|
116
116
|
successful_zero_record_window:
|
|
@@ -312,8 +312,8 @@ state_gathering_sequence:
|
|
|
312
312
|
start_anchor: first_agentera_state_call_after_capability_related_user_turn
|
|
313
313
|
capability_invocation_markers:
|
|
314
314
|
- slash route such as /agentera plan or /agentera build
|
|
315
|
-
- bare capability name such as
|
|
316
|
-
- natural-language capability mention such as run
|
|
315
|
+
- bare capability name such as plan, discuss, or orchestrate
|
|
316
|
+
- natural-language capability mention such as run orchestrate
|
|
317
317
|
- assistant capability intro marker
|
|
318
318
|
end_anchors:
|
|
319
319
|
- first_implementation_boundary
|
|
@@ -324,7 +324,7 @@ state_gathering_sequence:
|
|
|
324
324
|
|
|
325
325
|
counted_event_classes:
|
|
326
326
|
- class: cli_state_call
|
|
327
|
-
description: Agentera state CLI reads such as
|
|
327
|
+
description: Agentera state CLI reads such as prime, todo, docs, plan, progress, decisions, health, and query.
|
|
328
328
|
- class: raw_artifact_access
|
|
329
329
|
description: Direct read, grep, or glob access to Agentera state artifacts after CLI state access.
|
|
330
330
|
- class: capability_prose_read
|
|
@@ -204,9 +204,10 @@ explicit_special_cases:
|
|
|
204
204
|
display_name: PROFILE.md
|
|
205
205
|
artifact_type: global_user_state
|
|
206
206
|
scope: global_user_state
|
|
207
|
-
default_path: $
|
|
207
|
+
default_path: $AGENTERA_PROFILE_DIR/PROFILE.md
|
|
208
208
|
path_template:
|
|
209
209
|
env_precedence:
|
|
210
|
+
- AGENTERA_PROFILE_DIR
|
|
210
211
|
- PROFILERA_PROFILE_DIR
|
|
211
212
|
- XDG_DATA_HOME/agentera
|
|
212
213
|
- ~/.local/share/agentera
|
|
@@ -235,11 +236,11 @@ explicit_special_cases:
|
|
|
235
236
|
display_name: benchmark_context
|
|
236
237
|
artifact_type: cli_context
|
|
237
238
|
scope: cli_context
|
|
238
|
-
default_path: agentera prime --context
|
|
239
|
+
default_path: agentera prime --context optimize --format json#benchmark_context
|
|
239
240
|
producers:
|
|
240
241
|
- agentera
|
|
241
242
|
consumers:
|
|
242
|
-
-
|
|
243
|
+
- optimize
|
|
243
244
|
docs_yaml_can_override_path: false
|
|
244
245
|
consumer_permissions:
|
|
245
246
|
cross_capability_validator:
|
|
@@ -229,7 +229,7 @@ structured_output:
|
|
|
229
229
|
- profile
|
|
230
230
|
- v1_migration
|
|
231
231
|
- health
|
|
232
|
-
-
|
|
232
|
+
- todo
|
|
233
233
|
- plan
|
|
234
234
|
- docs
|
|
235
235
|
- progress
|
|
@@ -589,7 +589,7 @@ field_selection:
|
|
|
589
589
|
- profile
|
|
590
590
|
- v1_migration
|
|
591
591
|
- health
|
|
592
|
-
-
|
|
592
|
+
- todo
|
|
593
593
|
- plan
|
|
594
594
|
- docs
|
|
595
595
|
- progress
|
|
@@ -880,7 +880,7 @@ usage_namespace:
|
|
|
880
880
|
behavior: >-
|
|
881
881
|
Uses the supplied Section 22 corpus.json envelope. When omitted, default
|
|
882
882
|
corpus lookup remains owned by `agentera usage` and follows
|
|
883
|
-
`
|
|
883
|
+
`AGENTERA_PROFILE_DIR/intermediate/corpus.json` before platform data-home
|
|
884
884
|
defaults.
|
|
885
885
|
project:
|
|
886
886
|
syntax: --project VALUE
|
|
@@ -900,14 +900,14 @@ usage_namespace:
|
|
|
900
900
|
path_contract:
|
|
901
901
|
report_precedence:
|
|
902
902
|
- AGENTERA_USAGE_DIR/USAGE.md
|
|
903
|
-
-
|
|
903
|
+
- AGENTERA_PROFILE_DIR/USAGE.md
|
|
904
904
|
- platform data home agentera/USAGE.md
|
|
905
905
|
corpus_precedence:
|
|
906
|
-
-
|
|
906
|
+
- AGENTERA_PROFILE_DIR/intermediate/corpus.json
|
|
907
907
|
- platform data home agentera/intermediate/corpus.json
|
|
908
908
|
test_isolation: >-
|
|
909
909
|
Facade tests that exercise default text writes must set temporary
|
|
910
|
-
`AGENTERA_USAGE_DIR` and `
|
|
910
|
+
`AGENTERA_USAGE_DIR` and `AGENTERA_PROFILE_DIR` values and must not write the
|
|
911
911
|
real user data home.
|
|
912
912
|
invalid_input_behavior:
|
|
913
913
|
format_error: >-
|
|
@@ -2,7 +2,7 @@ schema_version: agentera.app_lifecycle_vocabulary.v1
|
|
|
2
2
|
status: active_authority
|
|
3
3
|
decision: 54
|
|
4
4
|
purpose: >-
|
|
5
|
-
Define the app lifecycle vocabulary shared by doctor,
|
|
5
|
+
Define the app lifecycle vocabulary shared by doctor, status, upgrade, docs,
|
|
6
6
|
and tests so structured status metadata, operation verbs, deprecated aliases,
|
|
7
7
|
and consumer ownership boundaries have one machine-readable source.
|
|
8
8
|
sources:
|
|
@@ -12,7 +12,7 @@ sources:
|
|
|
12
12
|
- references/cli/vocabulary.md#app-lifecycle-status-vocabulary
|
|
13
13
|
scope:
|
|
14
14
|
includes:
|
|
15
|
-
- Agentera app lifecycle status metadata emitted by doctor,
|
|
15
|
+
- Agentera app lifecycle status metadata emitted by doctor, status, and upgrade.
|
|
16
16
|
- Upgrade workflow operation verbs for app files, data migration, and no-change outcomes.
|
|
17
17
|
- Cross-major status concepts that annotate migration work without adding parallel status enums.
|
|
18
18
|
- Transitional deprecated aliases needed to classify shipped or historical consumers.
|
|
@@ -155,7 +155,7 @@ operation_verbs:
|
|
|
155
155
|
lifecycle_allowed: false
|
|
156
156
|
consumer_order:
|
|
157
157
|
- doctor
|
|
158
|
-
-
|
|
158
|
+
- status
|
|
159
159
|
- upgrade
|
|
160
160
|
- docs
|
|
161
161
|
- tests
|
|
@@ -176,7 +176,7 @@ consumers:
|
|
|
176
176
|
- migrate
|
|
177
177
|
- upgrade
|
|
178
178
|
may_define_new_statuses: false
|
|
179
|
-
|
|
179
|
+
status:
|
|
180
180
|
owns:
|
|
181
181
|
- installed app gate summary exposed in the composite state briefing.
|
|
182
182
|
- recovery prompts derived from doctor and upgrade metadata.
|
|
@@ -7,47 +7,47 @@ classification:
|
|
|
7
7
|
mutation_capable:
|
|
8
8
|
description: Needs file write, edit, and/or shell execution to fulfill purpose
|
|
9
9
|
capabilities:
|
|
10
|
-
|
|
10
|
+
build:
|
|
11
11
|
permission: {write: allow, bash: allow}
|
|
12
12
|
rationale: Autonomous dev execution — writes code, runs tests/builds, commits
|
|
13
|
-
|
|
13
|
+
optimize:
|
|
14
14
|
permission: {write: allow, bash: allow}
|
|
15
15
|
rationale: Metric-driven optimization — runs experiments, writes harnesses
|
|
16
|
-
|
|
16
|
+
orchestrate:
|
|
17
17
|
permission: {write: allow, bash: allow}
|
|
18
18
|
rationale: Multi-cycle orchestration — dispatches workers, updates plan/progress
|
|
19
|
-
|
|
19
|
+
document:
|
|
20
20
|
permission: {write: allow, bash: deny}
|
|
21
21
|
rationale: Documentation generation — creates/updates doc files
|
|
22
|
-
|
|
22
|
+
plan:
|
|
23
23
|
permission: {write: allow, bash: deny}
|
|
24
24
|
rationale: Plan management — writes plan.yaml, archives completed plans
|
|
25
25
|
|
|
26
26
|
contextual_write:
|
|
27
27
|
description: Writes owned Agentera state artifacts
|
|
28
28
|
capabilities:
|
|
29
|
-
|
|
29
|
+
vision:
|
|
30
30
|
permission: {write: allow, bash: deny}
|
|
31
31
|
rationale: Writes vision.yaml, archives old visions
|
|
32
|
-
|
|
32
|
+
discuss:
|
|
33
33
|
permission: {write: allow, bash: deny}
|
|
34
34
|
rationale: Writes decisions.yaml, may update TODO.md
|
|
35
|
-
|
|
35
|
+
design:
|
|
36
36
|
permission: {write: allow, bash: deny}
|
|
37
37
|
rationale: Writes DESIGN.md, archives old designs
|
|
38
|
-
|
|
38
|
+
profile:
|
|
39
39
|
permission: {write: allow, bash: allow}
|
|
40
40
|
rationale: Runs extraction scripts, writes PROFILE.md
|
|
41
|
-
|
|
41
|
+
audit:
|
|
42
42
|
permission: {write: allow, bash: deny}
|
|
43
43
|
rationale: Writes health.yaml audit reports
|
|
44
44
|
|
|
45
45
|
read_only:
|
|
46
46
|
description: Only reads files, searches, analyzes
|
|
47
47
|
capabilities:
|
|
48
|
-
|
|
48
|
+
status:
|
|
49
49
|
permission: {write: deny, bash: deny}
|
|
50
50
|
rationale: Strictly read-only orientation dashboard
|
|
51
|
-
|
|
51
|
+
research:
|
|
52
52
|
permission: {write: deny, bash: deny}
|
|
53
53
|
rationale: Analysis-only creative exploration
|
|
@@ -7,3 +7,7 @@ warning:
|
|
|
7
7
|
- complete v3 migration
|
|
8
8
|
- uninstall v3
|
|
9
9
|
- stay on v2 explicitly
|
|
10
|
+
naming_divergence:
|
|
11
|
+
description: "v3 uses English capability IDs (status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate); v2 stable uses Swedish -era IDs (hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, orkestrera)"
|
|
12
|
+
v3_canonical: [status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate]
|
|
13
|
+
v2_stable: [hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, orkestrera]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Parity EXPECTED/ACTUAL bug-demonstration template
|
|
2
|
+
|
|
3
|
+
Apply this pattern to `npmParityMatrix` / Python-oracle parity rows when fixing a
|
|
4
|
+
regression: land a **demonstrate** commit first, then a **fix** commit that only
|
|
5
|
+
flips the assertion.
|
|
6
|
+
|
|
7
|
+
## Workflow
|
|
8
|
+
|
|
9
|
+
1. **Demonstrate commit** — test passes on broken behavior; correct expectation
|
|
10
|
+
preserved in a block comment (`EXPECTED`); wrong behavior asserted (`ACTUAL`).
|
|
11
|
+
2. **Fix commit** — delete comment markers and `ACTUAL` line; `EXPECTED` becomes the
|
|
12
|
+
live assertion. No other edits in the fix commit.
|
|
13
|
+
|
|
14
|
+
## Minimal vitest shape
|
|
15
|
+
|
|
16
|
+
See `packages/cli/test/cli/parityExpectedActualTemplate.test.ts` for a runnable
|
|
17
|
+
micro-example. For real parity rows, mirror the pattern in the oracle fixture row
|
|
18
|
+
and `npmParityMatrix.test.ts` drift assertions.
|
|
19
|
+
|
|
20
|
+
## npmParityMatrix row
|
|
21
|
+
|
|
22
|
+
When adding a row to the parity matrix for a pre-existing bug:
|
|
23
|
+
|
|
24
|
+
- Register the row with `drift_direction: equal` as the target after fix.
|
|
25
|
+
- In the demonstrate pass, temporarily pin oracle shape to the **wrong** envelope
|
|
26
|
+
or assert `ACTUAL` substring in a dedicated regression test.
|
|
27
|
+
- Fix pass restores `equal` against the corrected CLI output.
|
|
28
|
+
|
|
29
|
+
Do not apply EXPECTED/ACTUAL by default to every row — only where bisect clarity
|
|
30
|
+
justifies the two-commit ritual.
|