agentera 3.0.0-dev.39 → 3.0.0-dev.41
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 +1 -1
- package/bundle/CHANGELOG.md +55 -8
- package/bundle/README.md +3 -3
- package/bundle/references/artifacts/glossary-entry-contract.yaml +18 -5
- package/bundle/references/artifacts/state-storage-authority.yaml +865 -171
- package/bundle/references/cli/agent-ready-state-contract.yaml +12 -12
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +5 -5
- package/bundle/references/cli/prime-consumer-compatibility.yaml +58 -18
- package/bundle/references/cli/vocabulary-index.yaml +1 -1
- package/bundle/references/cli/vocabulary.md +4 -3
- package/bundle/skills/agentera/SKILL.md +23 -4
- package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +3 -3
- package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +3 -1
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +2 -1
- package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +3 -1
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +2 -2
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +3 -1
- package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +3 -1
- package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +2 -1
- package/bundle/skills/agentera/capability_schema_contract.yaml +1 -1
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +89 -30
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +103 -20
- package/dist/analytics/extractCorpus/cli.js.map +1 -1
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/core.js.map +1 -1
- package/dist/analytics/extractCorpus/corpus.js.map +1 -1
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -1
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
- package/dist/analytics/extractCorpus/index.js.map +1 -1
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -1
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
- package/dist/analytics/extractCorpus.js.map +1 -1
- package/dist/analytics/glossaryAdviceResolution.js.map +1 -1
- package/dist/analytics/glossaryInputAcquisition.js.map +1 -1
- package/dist/analytics/personalGlossaryAdmission.js.map +1 -1
- package/dist/analytics/personalGlossaryProfile.js +2 -1
- package/dist/analytics/personalGlossaryProfile.js.map +1 -1
- package/dist/analytics/profileSignals.js.map +1 -1
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/audit/terminologyDrift.js.map +1 -1
- package/dist/bin/agentera.js.map +1 -1
- package/dist/capabilities/audit/instructions.js.map +1 -1
- package/dist/capabilities/build/instructions.js +2 -2
- package/dist/capabilities/build/instructions.js.map +1 -1
- package/dist/capabilities/design/instructions.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js +2 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/document/instructions.js.map +1 -1
- package/dist/capabilities/index.js +1 -1
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/optimize/instructions.js +1 -0
- package/dist/capabilities/optimize/instructions.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js.map +1 -1
- package/dist/capabilities/plan/instructions.js +3 -2
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/capabilities/research/instructions.js.map +1 -1
- package/dist/capabilities/status/instructions.js +8 -1
- package/dist/capabilities/status/instructions.js.map +1 -1
- package/dist/capabilities/status/startupInstructions.js.map +1 -1
- package/dist/capabilities/vision/instructions.js.map +1 -1
- package/dist/cli/appContext.js.map +1 -1
- package/dist/cli/argvalidate.js.map +1 -1
- package/dist/cli/capabilityContext/benchmark.js +2 -1
- package/dist/cli/capabilityContext/benchmark.js.map +1 -1
- package/dist/cli/capabilityContext/bespoke.js.map +1 -1
- package/dist/cli/capabilityContext/build.js +6 -6
- package/dist/cli/capabilityContext/build.js.map +1 -1
- package/dist/cli/capabilityContext/closeout.js +11 -7
- package/dist/cli/capabilityContext/closeout.js.map +1 -1
- package/dist/cli/capabilityContext/contract.js +4 -4
- package/dist/cli/capabilityContext/contract.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +4 -4
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/capabilityContext/index.js.map +1 -1
- package/dist/cli/capabilityContext/orchestration.js +12 -7
- package/dist/cli/capabilityContext/orchestration.js.map +1 -1
- package/dist/cli/capabilityContext/planState.js.map +1 -1
- package/dist/cli/capabilityContext/progress.js.map +1 -1
- package/dist/cli/capabilityContext/projectVerification.js.map +1 -1
- package/dist/cli/capabilityContext/shared.js +2 -2
- package/dist/cli/capabilityContext/shared.js.map +1 -1
- package/dist/cli/capabilityContext/slim.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +6 -2
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/capabilityContext/types.js +19 -14
- package/dist/cli/capabilityContext/types.js.map +1 -1
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/appHome.js.map +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/durability.js.map +1 -1
- package/dist/cli/commands/entityMigrate.js.map +1 -1
- package/dist/cli/commands/glossaryAdvice.js.map +1 -1
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/personalGlossary.js.map +1 -1
- package/dist/cli/commands/prime/briefOrientation.js +260 -44
- package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
- package/dist/cli/commands/prime/buildExecutionRequest.js.map +1 -1
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
- package/dist/cli/commands/prime/collectEntityOrientation.js +22 -13
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +20 -28
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +4 -5
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime/types.js.map +1 -1
- package/dist/cli/commands/prime/v1Migration.js.map +1 -1
- package/dist/cli/commands/prime.js +1 -1
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/profileGrounding.js +29 -50
- package/dist/cli/commands/profileGrounding.js.map +1 -1
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/route.js.map +1 -1
- package/dist/cli/commands/schema.js +4 -43
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +1 -1
- package/dist/cli/commands/state/decisions.js.map +1 -1
- package/dist/cli/commands/state/docs.js.map +1 -1
- package/dist/cli/commands/state/experimentRecords.js +28 -15
- package/dist/cli/commands/state/experimentRecords.js.map +1 -1
- package/dist/cli/commands/state/experiments.js.map +1 -1
- package/dist/cli/commands/state/get.js +6 -3
- package/dist/cli/commands/state/get.js.map +1 -1
- package/dist/cli/commands/state/health.js.map +1 -1
- package/dist/cli/commands/state/index.js +3 -46
- package/dist/cli/commands/state/index.js.map +1 -1
- package/dist/cli/commands/state/list.js +41 -22
- package/dist/cli/commands/state/list.js.map +1 -1
- package/dist/cli/commands/state/objective.js.map +1 -1
- package/dist/cli/commands/state/plan.js.map +1 -1
- package/dist/cli/commands/state/planTasks.js +26 -13
- package/dist/cli/commands/state/planTasks.js.map +1 -1
- package/dist/cli/commands/state/plans.js +31 -19
- package/dist/cli/commands/state/plans.js.map +1 -1
- package/dist/cli/commands/state/progress.js.map +1 -1
- package/dist/cli/commands/state/shared.js.map +1 -1
- package/dist/cli/commands/state/todo.js +2 -1
- package/dist/cli/commands/state/todo.js.map +1 -1
- package/dist/cli/commands/state/write.js +52 -48
- package/dist/cli/commands/state/write.js.map +1 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgradeVerify.js.map +1 -1
- package/dist/cli/commands/validate.js +44 -4
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/contracts/bundleStatus.js.map +1 -1
- package/dist/cli/contracts/orientationState.js.map +1 -1
- package/dist/cli/dispatch/argvParser.js.map +1 -1
- package/dist/cli/dispatch/check.js.map +1 -1
- package/dist/cli/dispatch/commands.js.map +1 -1
- package/dist/cli/dispatch/index.js +12 -4
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/dispatch/prime.js.map +1 -1
- package/dist/cli/dispatch/shared.js.map +1 -1
- package/dist/cli/dispatch/state.js +53 -86
- package/dist/cli/dispatch/state.js.map +1 -1
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/help.js +134 -48
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/migrationRequired.js.map +1 -1
- package/dist/cli/orientation/attention.js +8 -5
- package/dist/cli/orientation/attention.js.map +1 -1
- package/dist/cli/orientation/corpusCoverage.js.map +1 -1
- package/dist/cli/orientation.js +61 -38
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js.map +1 -1
- package/dist/cli/planEvidence.js.map +1 -1
- package/dist/cli/planLifecycleState.js +3 -1
- package/dist/cli/planLifecycleState.js.map +1 -1
- package/dist/cli/planTaskIndex.js.map +1 -1
- package/dist/cli/prime-blob.js +2 -1
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/profileAcquisition.js +168 -0
- package/dist/cli/profileAcquisition.js.map +1 -0
- package/dist/cli/startupCompletenessContract.js +5 -2
- package/dist/cli/startupCompletenessContract.js.map +1 -1
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/structured.js.map +1 -1
- package/dist/cli/todoMarkdown.js +25 -11
- package/dist/cli/todoMarkdown.js.map +1 -1
- package/dist/cli/todoReadinessSelection.js +52 -17
- package/dist/cli/todoReadinessSelection.js.map +1 -1
- package/dist/cli/todoSeverity.js.map +1 -1
- package/dist/core/atomicWriter.js.map +1 -1
- package/dist/core/difflib.js.map +1 -1
- package/dist/core/envPaths.js.map +1 -1
- package/dist/core/jsonValue.js.map +1 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/pyjson.js.map +1 -1
- package/dist/core/shell.js +5 -0
- package/dist/core/shell.js.map +1 -0
- package/dist/core/skillIdentity.js.map +1 -1
- package/dist/core/sourceRoot.js.map +1 -1
- package/dist/core/text.js.map +1 -1
- package/dist/core/toml.js.map +1 -1
- package/dist/core/yaml.js.map +1 -1
- package/dist/eval/evalSkills.js.map +1 -1
- package/dist/eval/hybridRouteEvaluation.js.map +1 -1
- package/dist/eval/semanticEval.js.map +1 -1
- package/dist/eval/semanticFixtures.js.map +1 -1
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js.map +1 -1
- package/dist/hooks/compaction/dryRun.js.map +1 -1
- package/dist/hooks/compaction/index.js.map +1 -1
- package/dist/hooks/compaction/parse.js.map +1 -1
- package/dist/hooks/compaction/retention.js.map +1 -1
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/compaction/types.js.map +1 -1
- package/dist/hooks/cursorPreToolUse.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/projectHookInput.js.map +1 -1
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/agentFacing.js.map +1 -1
- package/dist/hooks/validateArtifact/index.js.map +1 -1
- package/dist/hooks/validateArtifact/markdown.js.map +1 -1
- package/dist/hooks/validateArtifact/runtime.js.map +1 -1
- package/dist/hooks/validateArtifact/schema.js +6 -0
- package/dist/hooks/validateArtifact/schema.js.map +1 -1
- package/dist/hooks/validateArtifact/traversal.js.map +1 -1
- package/dist/hooks/validateArtifact/violations.js.map +1 -1
- package/dist/migrate/v2HandoffManifest.js.map +1 -1
- package/dist/registries/artifactProtocolIds.js.map +1 -1
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/artifactSchemaProjection.js +46 -0
- package/dist/registries/artifactSchemaProjection.js.map +1 -0
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js.map +1 -1
- package/dist/registries/evidenceTierContract.js.map +1 -1
- package/dist/registries/glossaryAdviceContract.js.map +1 -1
- package/dist/registries/glossaryCaveatContract.js.map +1 -1
- package/dist/registries/glossaryConsumerContractValidation.js +1 -5
- package/dist/registries/glossaryConsumerContractValidation.js.map +1 -1
- package/dist/registries/glossaryEntryContract.js +10 -0
- package/dist/registries/glossaryEntryContract.js.map +1 -1
- package/dist/registries/glossaryTermIdentity.js.map +1 -1
- package/dist/registries/glossaryTermOccurrence.js.map +1 -1
- package/dist/registries/hybridRoute.js.map +1 -1
- package/dist/registries/hybridRouteReceipt.js.map +1 -1
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/todoReadinessContract.js +49 -6
- package/dist/registries/todoReadinessContract.js.map +1 -1
- package/dist/registries/triggerLoader.js.map +1 -1
- package/dist/registries/verbosityBudgetContract.js.map +1 -1
- package/dist/release/releaseMetadata.js.map +1 -1
- package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
- package/dist/runtime/lifecycleAdapters.js.map +1 -1
- package/dist/runtime/lifecycleAuthority.js.map +1 -1
- package/dist/runtime/lifecycleOperationContract.js.map +1 -1
- package/dist/runtime/lifecycleOperations.js.map +1 -1
- package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -1
- package/dist/runtime/lifecyclePublication.js.map +1 -1
- package/dist/runtime/lifecycleSnapshot.js.map +1 -1
- package/dist/runtime/nativeResourceCleanup.js.map +1 -1
- package/dist/setup/codex/cli.js.map +1 -1
- package/dist/setup/codex/configToml.js.map +1 -1
- package/dist/setup/codex/constants.js.map +1 -1
- package/dist/setup/codex/installRoot.js.map +1 -1
- package/dist/setup/codex/state.js.map +1 -1
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/opencode.js.map +1 -1
- package/dist/setup/opencodeConstants.js.map +1 -1
- package/dist/setup/sharedSkill.js.map +1 -1
- package/dist/setup/smokeChecks.js.map +1 -1
- package/dist/state/archiveDiscovery.js +8 -5
- package/dist/state/archiveDiscovery.js.map +1 -1
- package/dist/state/archivePublication.js.map +1 -1
- package/dist/state/archiveRecovery.js.map +1 -1
- package/dist/state/archiveReplay.js.map +1 -1
- package/dist/state/canonicalMigrationRecord.js.map +1 -1
- package/dist/state/changelog.js.map +1 -1
- package/dist/state/decisionEntities.js +59 -20
- package/dist/state/decisionEntities.js.map +1 -1
- package/dist/state/decisionLegacyValidation.js.map +1 -1
- package/dist/state/decisionMigrationProvenance.js.map +1 -1
- package/dist/state/decisionOverlay.js.map +1 -1
- package/dist/state/decisionRevision.js.map +1 -1
- package/dist/state/decisionRevisionMigration.js.map +1 -1
- package/dist/state/directRetrieval.js.map +1 -1
- package/dist/state/durability.js.map +1 -1
- package/dist/state/entityCutover.js.map +1 -1
- package/dist/state/entityCutoverGit.js.map +1 -1
- package/dist/state/entityGlossaryAuthority.js.map +1 -1
- package/dist/state/entityListProjection.js +188 -0
- package/dist/state/entityListProjection.js.map +1 -0
- package/dist/state/entityListRuntimeRegistry.js +50 -0
- package/dist/state/entityListRuntimeRegistry.js.map +1 -0
- package/dist/state/entityMigrationCausality.js.map +1 -1
- package/dist/state/entityMigrationIdentity.js.map +1 -1
- package/dist/state/entityMigrationPreview.js +32 -3
- package/dist/state/entityMigrationPreview.js.map +1 -1
- package/dist/state/entityPublicationContext.js +607 -765
- package/dist/state/entityPublicationContext.js.map +1 -1
- package/dist/state/entityRetrievalHelp.js +476 -0
- package/dist/state/entityRetrievalHelp.js.map +1 -0
- package/dist/state/entityStorage.js.map +1 -1
- package/dist/state/exactReplacementRecovery.js +19 -0
- package/dist/state/exactReplacementRecovery.js.map +1 -0
- package/dist/state/experimentArchive.js.map +1 -1
- package/dist/state/experimentIdentity.js.map +1 -1
- package/dist/state/healthEntities.js +15 -16
- package/dist/state/healthEntities.js.map +1 -1
- package/dist/state/healthEntityValidation.js.map +1 -1
- package/dist/state/healthRepair.js.map +1 -1
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/legacyEntityCutoverEvidence.js.map +1 -1
- package/dist/state/legacyIdentity.js.map +1 -1
- package/dist/state/legacySummaryRecord.js.map +1 -1
- package/dist/state/listAccounting.js.map +1 -1
- package/dist/state/listClassification.js.map +1 -1
- package/dist/state/listCursor.js.map +1 -1
- package/dist/state/listRetrieval.js.map +1 -1
- package/dist/state/migrationSourceBinding.js.map +1 -1
- package/dist/state/objectiveExperimentEntities.js +22 -22
- package/dist/state/objectiveExperimentEntities.js.map +1 -1
- package/dist/state/planEntities.js +75 -29
- package/dist/state/planEntities.js.map +1 -1
- package/dist/state/planIdentity.js +4 -1
- package/dist/state/planIdentity.js.map +1 -1
- package/dist/state/planRetrieval.js.map +1 -1
- package/dist/state/planTaskRetrieval.js +41 -31
- package/dist/state/planTaskRetrieval.js.map +1 -1
- package/dist/state/progressEntities.js +40 -25
- package/dist/state/progressEntities.js.map +1 -1
- package/dist/state/progressGlossaryCaveat.js.map +1 -1
- package/dist/state/progressPublicationOrder.js.map +1 -1
- package/dist/state/projectRoot.js.map +1 -1
- package/dist/state/projectionPolicy.js +12 -5
- package/dist/state/projectionPolicy.js.map +1 -1
- package/dist/state/retrievalAuthority.js +86 -272
- package/dist/state/retrievalAuthority.js.map +1 -1
- package/dist/state/safeProjectFile.js.map +1 -1
- package/dist/state/startupAnalysis/benchmark.js.map +1 -1
- package/dist/state/startupAnalysis/contract.js.map +1 -1
- package/dist/state/startupAnalysis/helpers.js.map +1 -1
- package/dist/state/startupAnalysis/index.js.map +1 -1
- package/dist/state/startupAnalysis/metrics.js.map +1 -1
- package/dist/state/startupAnalysis/records.js.map +1 -1
- package/dist/state/startupAnalysis/report.js.map +1 -1
- package/dist/state/startupAnalysis/threshold.js.map +1 -1
- package/dist/state/startupAnalysis.js.map +1 -1
- package/dist/state/startupProjection.js.map +1 -1
- package/dist/state/stateMode.js +11 -8
- package/dist/state/stateMode.js.map +1 -1
- package/dist/state/stateStorageAuthority.js.map +1 -1
- package/dist/state/summaryEntityRead.js.map +1 -1
- package/dist/state/summaryMigrationProvenance.js.map +1 -1
- package/dist/state/summarySourceRowAuthority.js.map +1 -1
- package/dist/state/todoDocsEntities.js +811 -91
- package/dist/state/todoDocsEntities.js.map +1 -1
- package/dist/state/todoDocsEntityValidation.js +127 -2
- package/dist/state/todoDocsEntityValidation.js.map +1 -1
- package/dist/state/todoReconciliationActivation.js +63 -0
- package/dist/state/todoReconciliationActivation.js.map +1 -0
- package/dist/state/todoReconciliationTransaction.js +554 -0
- package/dist/state/todoReconciliationTransaction.js.map +1 -0
- package/dist/state/write/assign.js.map +1 -1
- package/dist/state/write/candidateMutation.js +1 -12
- package/dist/state/write/candidateMutation.js.map +1 -1
- package/dist/state/write/errors.js.map +1 -1
- package/dist/state/write/experimentPublication.js.map +1 -1
- package/dist/state/write/explain.js +198 -177
- package/dist/state/write/explain.js.map +1 -1
- package/dist/state/write/fields.js.map +1 -1
- package/dist/state/write/glossaryPublication.js.map +1 -1
- package/dist/state/write/grammar.js +271 -0
- package/dist/state/write/grammar.js.map +1 -0
- package/dist/state/write/helpers.js.map +1 -1
- package/dist/state/write/index.js.map +1 -1
- package/dist/state/write/input.js +351 -5
- package/dist/state/write/input.js.map +1 -1
- package/dist/state/write/lock.js.map +1 -1
- package/dist/state/write/mutation.js.map +1 -1
- package/dist/state/write/operations.js +140 -343
- package/dist/state/write/operations.js.map +1 -1
- package/dist/state/write/planEvaluation.js +4 -0
- package/dist/state/write/planEvaluation.js.map +1 -1
- package/dist/state/write/planPublication.js +48 -3
- package/dist/state/write/planPublication.js.map +1 -1
- package/dist/state/write/runtimeOperations.js +65 -0
- package/dist/state/write/runtimeOperations.js.map +1 -0
- package/dist/state/write/serialize.js.map +1 -1
- package/dist/state/write/transaction.js +13 -7
- package/dist/state/write/transaction.js.map +1 -1
- package/dist/state/write/validate.js.map +1 -1
- package/dist/upgrade/appContentRefresh.js.map +1 -1
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/atomicWriter.js.map +1 -1
- package/dist/upgrade/bundleEvidence.js.map +1 -1
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/coexistenceProbe.js.map +1 -1
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.js.map +1 -1
- package/dist/upgrade/installedHooksRetirement.js.map +1 -1
- package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
- package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/migrationPublication.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js.map +1 -1
- package/dist/upgrade/npxPlatformStatus.js.map +1 -1
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/upgradeCommands.js.map +1 -1
- package/dist/upgrade/upgradeLock.js.map +1 -1
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/upgrade/v3CapabilitySurface.js.map +1 -1
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js.map +1 -1
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/selfAudit.js.map +1 -1
- package/dist/validate/v1LegacyCruft.js.map +1 -1
- package/dist/validate/vocabularyAuthority.js.map +1 -1
- package/package.json +2 -2
- package/dist/state/experimentRetrieval.js +0 -447
- package/dist/state/experimentRetrieval.js.map +0 -1
|
@@ -62,7 +62,7 @@ slash_route_aliases:
|
|
|
62
62
|
Decision 43 aliases are exact `/agentera <alias>` routes, not CLI state
|
|
63
63
|
commands. Teaching `status`, `build`, `audit`, or `document` as CLI commands
|
|
64
64
|
would blur route vocabulary with state access; the shared word `plan` keeps
|
|
65
|
-
separate meanings as `/agentera plan` routing and `agentera state plan` state.
|
|
65
|
+
separate meanings as `/agentera plan` routing and `agentera state plan list` state.
|
|
66
66
|
doctor:
|
|
67
67
|
status: implemented_hard_rename
|
|
68
68
|
command: doctor
|
|
@@ -170,7 +170,7 @@ structured_output:
|
|
|
170
170
|
- summary_fields
|
|
171
171
|
- entry_fields
|
|
172
172
|
complete_semantics: >-
|
|
173
|
-
When `complete_for_plan_artifact` is true, `agentera state plan --format
|
|
173
|
+
When `complete_for_plan_artifact` is true, `agentera state plan list --format
|
|
174
174
|
json` includes plan summary metadata, tasks, dependencies, acceptance
|
|
175
175
|
criteria, evidence, overall acceptance, surprises, and previous-plan
|
|
176
176
|
archive references needed for normal read-only startup/evaluation
|
|
@@ -376,7 +376,7 @@ startup_completeness:
|
|
|
376
376
|
before any raw artifact read. Complete startup state must never require raw
|
|
377
377
|
artifact reads for normal capability startup.
|
|
378
378
|
current_cli_fallback:
|
|
379
|
-
- agentera state plan --format json
|
|
379
|
+
- agentera state plan list --format json
|
|
380
380
|
state_families_added:
|
|
381
381
|
- plan task details, dependencies, acceptance criteria, and evidence summaries
|
|
382
382
|
- docs artifact mapping and source-contract completeness metadata
|
|
@@ -492,7 +492,7 @@ evidence_context_target_contract:
|
|
|
492
492
|
caveats:
|
|
493
493
|
- profile-derived state is stale and must not trigger profile refresh
|
|
494
494
|
- orchestration_context is incomplete for missing decisions, vision, and profile state
|
|
495
|
-
- command: agentera state plan --format json
|
|
495
|
+
- command: agentera state plan list --format json
|
|
496
496
|
included_state:
|
|
497
497
|
- active plan header and summary
|
|
498
498
|
- task dependencies
|
|
@@ -502,7 +502,7 @@ evidence_context_target_contract:
|
|
|
502
502
|
- previous_plan_archived pointer
|
|
503
503
|
missing_state: []
|
|
504
504
|
raw_artifact_reads_required: false
|
|
505
|
-
- command: agentera state docs --format json
|
|
505
|
+
- command: agentera state docs list --format json
|
|
506
506
|
included_state:
|
|
507
507
|
- artifact mapping
|
|
508
508
|
- version files
|
|
@@ -510,7 +510,7 @@ evidence_context_target_contract:
|
|
|
510
510
|
- indexed document freshness
|
|
511
511
|
missing_state: []
|
|
512
512
|
raw_artifact_reads_required: false
|
|
513
|
-
- command: agentera state todo --format json
|
|
513
|
+
- command: agentera state todo list --format json
|
|
514
514
|
included_state:
|
|
515
515
|
- open 2.3.10 evidence-context TODO
|
|
516
516
|
- deferred 2.3.11 and 2.3.12 source-contract TODOs
|
|
@@ -567,22 +567,22 @@ evidence_context_target_contract:
|
|
|
567
567
|
required_for_normal_task_evaluation:
|
|
568
568
|
- family: evaluation_target
|
|
569
569
|
source: plan/orchestration CLI state
|
|
570
|
-
fallback: agentera state plan --format json
|
|
570
|
+
fallback: agentera state plan list --format json
|
|
571
571
|
- family: plan_criteria
|
|
572
|
-
source: agentera state plan --format json entries.acceptance
|
|
572
|
+
source: agentera state plan list --format json entries.acceptance
|
|
573
573
|
fallback: none when complete_for_plan_artifact is true
|
|
574
574
|
- family: progress_verification
|
|
575
575
|
source: agentera state progress list --limit 20 --format json latest verification
|
|
576
576
|
fallback: agentera state progress get --id ID --format json
|
|
577
577
|
- family: docs_state
|
|
578
|
-
source: agentera state docs --format json summary and entries
|
|
579
|
-
fallback: agentera state docs --format json
|
|
578
|
+
source: agentera state docs list --format json summary and entries
|
|
579
|
+
fallback: agentera state docs list --format json
|
|
580
580
|
- family: health_state
|
|
581
581
|
source: agentera state health list --limit 20 --format json latest audit
|
|
582
582
|
fallback: agentera state health get --id ID --format json
|
|
583
583
|
- family: todo_state
|
|
584
|
-
source: agentera state todo --format json known issues and source-contract TODOs
|
|
585
|
-
fallback: agentera state todo --format json
|
|
584
|
+
source: agentera state todo list --format json known issues and source-contract TODOs
|
|
585
|
+
fallback: agentera state todo list --format json
|
|
586
586
|
- family: source_contract
|
|
587
587
|
source: evidence_context.source_contract
|
|
588
588
|
fallback: listed existing CLI commands before raw reads
|
|
@@ -259,7 +259,7 @@ decision_reconciliation:
|
|
|
259
259
|
decision_45:
|
|
260
260
|
routine_state_aliases: >-
|
|
261
261
|
Routine state names stay stable via top-level aliases during migration. Canonical
|
|
262
|
-
reads become `agentera state <name
|
|
262
|
+
reads become `agentera state <name> list`; envelopes, field selection, and
|
|
263
263
|
source_contract semantics are unchanged.
|
|
264
264
|
slash_route_separation: >-
|
|
265
265
|
Decision 43 slash aliases remain excluded from the CLI command surface. The
|
|
@@ -273,10 +273,10 @@ plan_routing_distinction:
|
|
|
273
273
|
Request-to-capability routing — start or continue Planera planning work. This
|
|
274
274
|
is not a CLI command and does not read `.agentera/plan.yaml` by itself.
|
|
275
275
|
state_read:
|
|
276
|
-
invocation: agentera state plan
|
|
276
|
+
invocation: agentera state plan list
|
|
277
277
|
legacy_alias: >-
|
|
278
278
|
Top-level `agentera plan` is capability routing, not a state-read alias;
|
|
279
|
-
use `agentera state plan` for project state.
|
|
279
|
+
use `agentera state plan list` for project state.
|
|
280
280
|
surface: CLI routine state read
|
|
281
281
|
meaning: >-
|
|
282
282
|
Read-only access to the active plan artifact summary, tasks, acceptance
|
|
@@ -287,11 +287,11 @@ plan_routing_distinction:
|
|
|
287
287
|
surface: CLI top-level capability routing command
|
|
288
288
|
meaning: >-
|
|
289
289
|
Emits plan capability routing guidance prose/schemas pointers. Does not replace
|
|
290
|
-
`state plan` reads or `/agentera plan` slash routing. Capability startup JSON
|
|
290
|
+
`state plan list` reads or `/agentera plan` slash routing. Capability startup JSON
|
|
291
291
|
remains `agentera prime --context plan --format json`.
|
|
292
292
|
agent_guidance: >-
|
|
293
293
|
Use `/agentera plan` when the user wants planning work routed to Planera; use
|
|
294
|
-
`agentera state plan` when the agent needs plan artifact state; use
|
|
294
|
+
`agentera state plan list` when the agent needs plan artifact state; use
|
|
295
295
|
`agentera plan` for capability routing guidance; use
|
|
296
296
|
`agentera prime --context plan` for bounded plan startup context.
|
|
297
297
|
migration_phases:
|
|
@@ -213,7 +213,7 @@ field_classification:
|
|
|
213
213
|
rationale: >-
|
|
214
214
|
Default-only when no docs state. Task 2 omits it from the default bare
|
|
215
215
|
briefing when docs.exists is false (see default_emission_omission_contract);
|
|
216
|
-
recovery via `agentera state docs`.
|
|
216
|
+
recovery via `agentera state docs list --format json`.
|
|
217
217
|
- field: progress
|
|
218
218
|
status: required
|
|
219
219
|
rationale: opencode reads progress.latest; status brief references shipped work.
|
|
@@ -223,7 +223,8 @@ field_classification:
|
|
|
223
223
|
Default-only when none active. Task 2 omits it from the default bare
|
|
224
224
|
briefing when objective.active is false (see
|
|
225
225
|
default_emission_omission_contract); status derives "none active" from
|
|
226
|
-
state_presence.active.objective. Recovery via
|
|
226
|
+
state_presence.active.objective. Recovery via
|
|
227
|
+
`agentera state objective list --format json`.
|
|
227
228
|
- field: state_presence
|
|
228
229
|
status: required
|
|
229
230
|
rationale: Owns missing-versus-empty semantics; must not be omitted.
|
|
@@ -250,7 +251,10 @@ field_classification:
|
|
|
250
251
|
recover the current history.
|
|
251
252
|
- field: shared_skill
|
|
252
253
|
status: required
|
|
253
|
-
rationale:
|
|
254
|
+
rationale: >-
|
|
255
|
+
Canonical shared-skill status and read-only diagnosis. Bare prime omits
|
|
256
|
+
the privacy-sensitive absolute path; doctor or an explicit shared_skill
|
|
257
|
+
field read recovers full path diagnostics.
|
|
254
258
|
- field: decision_attention
|
|
255
259
|
status: conditional
|
|
256
260
|
rationale: Null unless returned decisions require satisfaction review.
|
|
@@ -442,13 +446,13 @@ default_emission_omission_contract:
|
|
|
442
446
|
the sole v1 signal.
|
|
443
447
|
- field: docs
|
|
444
448
|
omitted_when: docs.exists !== true
|
|
445
|
-
recovery_command: agentera state docs
|
|
449
|
+
recovery_command: agentera state docs list --format json
|
|
446
450
|
disambiguated_by: >-
|
|
447
451
|
state_presence.available.docs and state_presence.absence.docs carry the
|
|
448
452
|
missing-vs-empty signal for the docs artifact family.
|
|
449
453
|
- field: objective
|
|
450
454
|
omitted_when: objective.active !== true
|
|
451
|
-
recovery_command: agentera state objective
|
|
455
|
+
recovery_command: agentera state objective list --format json
|
|
452
456
|
disambiguated_by: >-
|
|
453
457
|
state_presence.active.objective is false; status derives "none active"
|
|
454
458
|
from state_presence rather than from an emitted default-only objective
|
|
@@ -475,9 +479,10 @@ default_emission_omission_contract:
|
|
|
475
479
|
# `--dashboard` (full fidelity, 35000-byte budget), `--fields <name>`, and the
|
|
476
480
|
# `--context` capsule are NOT projected and keep the full payload. The byte
|
|
477
481
|
# gate is deterministic pretty-JSON UTF-8 measurement; an over-budget brief is
|
|
478
|
-
# rejected in favor of a bounded degraded envelope (status ok, brief.
|
|
479
|
-
|
|
480
|
-
|
|
482
|
+
# rejected in favor of a bounded degraded envelope (status ok, brief.status
|
|
483
|
+
# signals degraded). Every successful envelope keeps bounded plan selection,
|
|
484
|
+
# executable next_action, canonical history evidence, profile,
|
|
485
|
+
# state_presence, source_contract, and the byte-budget recovery.
|
|
481
486
|
brief_omission_contract:
|
|
482
487
|
implemented_by: packages/cli/src/cli/commands/prime/briefOrientation.ts:briefOrientationPayload
|
|
483
488
|
applies_to: default bare prime (no --fields, no --dashboard, no --context)
|
|
@@ -494,6 +499,9 @@ default_emission_omission_contract:
|
|
|
494
499
|
omitted_when_default). issues ships as the deprecated count-only
|
|
495
500
|
transition projection and excludes canonical todo.detail.
|
|
496
501
|
projected_subdetail:
|
|
502
|
+
- field: startup.path_diagnostics
|
|
503
|
+
reason: startup_path_diagnostics
|
|
504
|
+
recovery: agentera doctor --format json
|
|
497
505
|
- field: plan.tasks
|
|
498
506
|
reason: plan_task_detail
|
|
499
507
|
recovery: agentera state plan tasks list --format json
|
|
@@ -502,10 +510,16 @@ default_emission_omission_contract:
|
|
|
502
510
|
recovery: agentera state plan list --format json
|
|
503
511
|
- field: plan.diagnostics
|
|
504
512
|
reason: plan_diagnostics
|
|
505
|
-
recovery: agentera state plan --format json
|
|
506
|
-
- field: history.
|
|
513
|
+
recovery: agentera state plan list --format json
|
|
514
|
+
- field: history.progress.entries
|
|
515
|
+
reason: startup_history_entries
|
|
516
|
+
recovery: agentera state progress list --format json
|
|
517
|
+
- field: history.decisions.entries
|
|
518
|
+
reason: startup_history_entries
|
|
519
|
+
recovery: agentera state decisions list --format json
|
|
520
|
+
- field: history.health.entries
|
|
507
521
|
reason: startup_history_entries
|
|
508
|
-
recovery: agentera state
|
|
522
|
+
recovery: agentera state health list --format json
|
|
509
523
|
- field: project_integration.phases
|
|
510
524
|
reason: phase_blockers
|
|
511
525
|
recovery: agentera doctor --format json
|
|
@@ -518,21 +532,47 @@ default_emission_omission_contract:
|
|
|
518
532
|
- field: profile.bounded_signals
|
|
519
533
|
reason: profile_signal_detail
|
|
520
534
|
recovery: agentera profile --format json
|
|
535
|
+
history_projection:
|
|
536
|
+
count_fields: [total, returned, remaining, full, summary]
|
|
537
|
+
degraded_fields: [caveats, degraded_history]
|
|
538
|
+
provenance_fields: [source_contract]
|
|
539
|
+
recovery_fields: [retrieval.list, retrieval.get]
|
|
540
|
+
semantics: >-
|
|
541
|
+
Progress, decisions, and health retain canonical entity-history counts.
|
|
542
|
+
A degraded or compacted history retains bounded caveats, explicit
|
|
543
|
+
summary-only counts, source-contract provenance, and exact list/get
|
|
544
|
+
pointers. It never reconstructs omitted records or infers decision
|
|
545
|
+
satisfaction; explicit firm, provisional, missing, compacted, and
|
|
546
|
+
review-needed evidence remains unchanged when present.
|
|
521
547
|
never_collapsed: >-
|
|
522
548
|
state_presence is projected to its finite contract-owned active, available,
|
|
523
549
|
any_active, absence_explained, and absence keys rather than copied verbatim;
|
|
524
550
|
known boolean values and absence reasons remain bounded, so missing versus
|
|
525
551
|
present-but-empty stays behaviorally distinguishable even for adversarial
|
|
526
552
|
caller objects. source_contract is likewise projected to bounded known
|
|
527
|
-
fields and named recovery pointers.
|
|
528
|
-
|
|
529
|
-
|
|
553
|
+
fields and named recovery pointers. Every successful normal or degraded
|
|
554
|
+
envelope keeps plan.first_pending identity, dependencies, acceptance, and
|
|
555
|
+
exact task get; next_action keeps its executable identity, capability,
|
|
556
|
+
phase, eligibility, and exact retrieval. Canonical history counts,
|
|
557
|
+
degraded caveats, and exact history recovery remain bounded consumer
|
|
558
|
+
evidence. Every bare-prime projection omits absolute app-home,
|
|
559
|
+
source-root, shared-skill, schema, and project path diagnostics while
|
|
560
|
+
retaining app/shared-skill status, stable source identity, truthful
|
|
561
|
+
presence, and doctor recovery. brief.path_diagnostics_recovery retains
|
|
562
|
+
that doctor command even when compact or irreducible metadata omits the
|
|
563
|
+
full recovery catalog. Normal and degraded projections retain bounded progress and
|
|
564
|
+
health signals; degraded projections also retain bounded TODO counts and
|
|
565
|
+
attention. Optional startup paths, plan task catalogs, and next-action
|
|
566
|
+
alternatives compact before selected routing or canonical history evidence.
|
|
530
567
|
fallback_behavior: >-
|
|
531
568
|
The detailed degraded envelope is byte-gated again after utf8_bytes is
|
|
532
|
-
settled. If it cannot fit,
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
569
|
+
settled. If it cannot fit, the recovery catalog, optional source-contract
|
|
570
|
+
detail, next-action alternatives, and free text compact proportionally
|
|
571
|
+
before selected plan, executable next_action, or canonical history
|
|
572
|
+
evidence. A compact and then irreducible finite routing envelope are tried
|
|
573
|
+
deterministically. If the configured budget cannot hold that routing
|
|
574
|
+
evidence, briefOrientationPayload fails explicitly rather than returning
|
|
575
|
+
exit zero without an executable task or emitting over-budget stdout.
|
|
536
576
|
|
|
537
577
|
# ---------------------------------------------------------------------------
|
|
538
578
|
# Fixtures used by packages/cli/test/cli/primeCompatibilityBoundary.test.ts.
|
|
@@ -42,7 +42,7 @@ normalization_rules:
|
|
|
42
42
|
use: agentera prime source data, status dashboard rendered briefing
|
|
43
43
|
avoid: Treating raw CLI labels as the user-facing dashboard.
|
|
44
44
|
- rule: Routine state uses the state namespace.
|
|
45
|
-
use: agentera state plan, agentera state docs, agentera state health
|
|
45
|
+
use: agentera state plan list, agentera state docs list, agentera state health list
|
|
46
46
|
avoid: agentera plan, agentera docs, or agentera health as routine state commands.
|
|
47
47
|
- rule: query is advanced access.
|
|
48
48
|
use: agentera query --list-artifacts, agentera query <artifact>
|
|
@@ -173,9 +173,10 @@ Primary route aliases are slash-route vocabulary, not CLI command vocabulary:
|
|
|
173
173
|
|
|
174
174
|
Do not teach primary aliases as CLI state commands. v3 orientation is
|
|
175
175
|
`agentera prime` (capability ID `status` via `prime --context status`); routine
|
|
176
|
-
|
|
177
|
-
`state
|
|
178
|
-
`state
|
|
176
|
+
record reads use `agentera state plan list`, `state progress list`,
|
|
177
|
+
`state health list`, `state todo list`, `state decisions list`, `state docs list`,
|
|
178
|
+
`state objective list`, objective-scoped `state experiments list`, exact
|
|
179
|
+
`get --id ID`, and advanced `state query`. The v2 stable distribution
|
|
179
180
|
retains `hej` and the rest of the Swedish capability surface per Decision 70.
|
|
180
181
|
|
|
181
182
|
When capability prose recommends another capability, use the handoff label
|
|
@@ -212,14 +212,33 @@ npx -y agentera@next state <progress|decisions|plan|health> explain --verb <verb
|
|
|
212
212
|
|
|
213
213
|
Common mutations:
|
|
214
214
|
|
|
215
|
-
- `npx -y agentera@next state progress append
|
|
216
|
-
- `npx -y agentera@next state decisions append
|
|
215
|
+
- `npx -y agentera@next state progress append --input <path|-> --format json`
|
|
216
|
+
- `npx -y agentera@next state decisions append --input <path|-> --format json`
|
|
217
|
+
- `npx -y agentera@next state decisions amend --id ID --base-sha256 HASH --input <path|-> --format json`
|
|
217
218
|
- `npx -y agentera@next state decisions update --id ID ... --format json`
|
|
218
219
|
- `npx -y agentera@next state plan create --input plan.yaml --format json`
|
|
219
|
-
- `npx -y agentera@next state plan
|
|
220
|
-
- `npx -y agentera@next state plan
|
|
220
|
+
- `npx -y agentera@next state plan append [--plan PLAN_ID] --input task.yaml --format json`
|
|
221
|
+
- `npx -y agentera@next state plan update --id TASK_ID [--plan PLAN_ID] --input task-patch.yaml --format json`
|
|
222
|
+
- `npx -y agentera@next state plan set-status --id TASK_ID --status STATUS --format json`
|
|
223
|
+
- `npx -y agentera@next state plan set-plan-status [--plan PLAN_ID] --status complete --format json`
|
|
221
224
|
- `npx -y agentera@next state plan archive --format json`
|
|
222
225
|
- `npx -y agentera@next state health append --input audit.yaml --format json`
|
|
226
|
+
- `npx -y agentera@next state todo create --input todo.yaml --format json`
|
|
227
|
+
- `npx -y agentera@next state todo update --id ID --input todo-patch.yaml --format json`
|
|
228
|
+
- `npx -y agentera@next state todo set-severity|supersede|resolve|reopen --id ID ... --format json`
|
|
229
|
+
|
|
230
|
+
TODO create input is a full YAML/JSON typed record. TODO update input is a
|
|
231
|
+
patch: omitted fields remain unchanged and only `target_version`,
|
|
232
|
+
`requirements`, `acceptance`, and `readiness` accept typed clears. Public TODO
|
|
233
|
+
fields remain TODO.md-owned; readiness, dependencies, gates, evidence, and
|
|
234
|
+
lifecycle metadata remain Agentera-owned. Lifecycle verbs are flag-only and do
|
|
235
|
+
not accept record payloads.
|
|
236
|
+
|
|
237
|
+
Plan create task numbers and dependency values are create-local symbolic
|
|
238
|
+
ordinals inside one atomic input document; the writer removes them before
|
|
239
|
+
publishing bare ten-letter plan and task envelope IDs. A legacy composite
|
|
240
|
+
`header.id` is migration-only and is never a public selector. Post-publication
|
|
241
|
+
task append/update payloads use only mutable task content and bare task IDs.
|
|
223
242
|
|
|
224
243
|
Add `--dry-run` to preview any mutation without publishing it. Artifacts not
|
|
225
244
|
listed above are outside the typed writer contract and remain governed by their
|
|
@@ -67,9 +67,9 @@ ARTIFACTS:
|
|
|
67
67
|
local_role: consumes
|
|
68
68
|
description: >-
|
|
69
69
|
Build consumes status profile summary first and reads profile grounding
|
|
70
|
-
only from `agentera report profile-grounding --format json
|
|
71
|
-
|
|
72
|
-
direct profile reads
|
|
70
|
+
only from `agentera report profile-grounding --format json` when shared
|
|
71
|
+
validity is `valid`. Absent or repair-needed state preserves exact
|
|
72
|
+
recovery and does not authorize refresh or direct profile reads.
|
|
73
73
|
9:
|
|
74
74
|
id: A9
|
|
75
75
|
artifact: docs
|
|
@@ -113,10 +113,12 @@ VALIDATION:
|
|
|
113
113
|
rule: sanitized_profile_grounding
|
|
114
114
|
description: >-
|
|
115
115
|
Build MUST ground only from the `content` returned by `agentera report
|
|
116
|
-
profile-grounding --format json
|
|
116
|
+
profile-grounding --format json` when shared validity is valid; it MUST
|
|
117
|
+
preserve absent/repair-needed recovery and MUST NOT direct-read PROFILE.md.
|
|
117
118
|
severity: critical
|
|
118
119
|
checks:
|
|
119
120
|
- "Sanitized grounding command used after prime startup"
|
|
121
|
+
- "Prime and report validity objects agree before content use"
|
|
120
122
|
- "Raw profile path not read"
|
|
121
123
|
12:
|
|
122
124
|
id: V12
|
|
@@ -41,7 +41,8 @@ ARTIFACTS:
|
|
|
41
41
|
description: >-
|
|
42
42
|
Discuss reads only sanitized non-glossary content from `agentera report
|
|
43
43
|
profile-grounding --format json` at session start. It never direct-reads
|
|
44
|
-
the profile path
|
|
44
|
+
the profile path. It uses content only when the shared validity object is
|
|
45
|
+
valid; absent or repair-needed results fail closed with exact recovery.
|
|
45
46
|
6:
|
|
46
47
|
id: A6
|
|
47
48
|
artifact: docs
|
|
@@ -81,10 +81,12 @@ VALIDATION:
|
|
|
81
81
|
rule: sanitized_profile_grounding
|
|
82
82
|
description: >-
|
|
83
83
|
Discuss MUST ground only from the `content` returned by `agentera report
|
|
84
|
-
profile-grounding --format json
|
|
84
|
+
profile-grounding --format json` when shared validity is valid; it MUST
|
|
85
|
+
preserve absent/repair-needed recovery and MUST NOT direct-read PROFILE.md.
|
|
85
86
|
severity: critical
|
|
86
87
|
checks:
|
|
87
88
|
- "Sanitized grounding command used at session start"
|
|
89
|
+
- "Prime and report validity objects agree before content use"
|
|
88
90
|
- "Raw profile path not read"
|
|
89
91
|
9:
|
|
90
92
|
id: V9
|
|
@@ -55,8 +55,8 @@ ARTIFACTS:
|
|
|
55
55
|
description: >-
|
|
56
56
|
Plan reads only sanitized non-glossary content from `agentera report
|
|
57
57
|
profile-grounding --format json` to calibrate planning depth and pattern
|
|
58
|
-
preferences. It never direct-reads the profile path
|
|
59
|
-
|
|
58
|
+
preferences. It never direct-reads the profile path and uses content only
|
|
59
|
+
for shared validity `valid`; absent and repair-needed results fail closed.
|
|
60
60
|
9:
|
|
61
61
|
id: A9
|
|
62
62
|
artifact: docs
|
|
@@ -92,10 +92,12 @@ VALIDATION:
|
|
|
92
92
|
rule: sanitized_profile_grounding
|
|
93
93
|
description: >-
|
|
94
94
|
Plan MUST ground only from the `content` returned by `agentera report
|
|
95
|
-
profile-grounding --format json
|
|
95
|
+
profile-grounding --format json` when shared validity is valid; it MUST
|
|
96
|
+
preserve absent/repair-needed recovery and MUST NOT direct-read PROFILE.md.
|
|
96
97
|
severity: critical
|
|
97
98
|
checks:
|
|
98
99
|
- "Sanitized grounding command used during Orient"
|
|
100
|
+
- "Prime and report validity objects agree before content use"
|
|
99
101
|
- "Raw profile path not read"
|
|
100
102
|
10:
|
|
101
103
|
id: V10
|
|
@@ -9,7 +9,9 @@ ARTIFACTS:
|
|
|
9
9
|
deterministic personal Glossary section containing shared glossary entries
|
|
10
10
|
and lifecycle metadata; rendering and persistence are active while lookup
|
|
11
11
|
remains deferred. Profile writes this in both Full and Validate modes,
|
|
12
|
-
then reads it for validation and update context.
|
|
12
|
+
then reads it for validation and update context. Prime exposes its
|
|
13
|
+
canonical resolved path only inside `prime --context profile`; no other
|
|
14
|
+
Prime context or profile-grounding failure may serialize that path.
|
|
13
15
|
2:
|
|
14
16
|
id: A2
|
|
15
17
|
artifact: decisions
|
|
@@ -69,4 +69,5 @@ ARTIFACTS:
|
|
|
69
69
|
artifact: profile
|
|
70
70
|
local_role: consumes
|
|
71
71
|
description: >-
|
|
72
|
-
Status
|
|
72
|
+
Status reports profile validity as valid, absent, or repair_needed and
|
|
73
|
+
keeps freshness separate without exposing profile paths or content.
|
|
@@ -281,7 +281,7 @@ ROUTE_ALIASES:
|
|
|
281
281
|
canonical_name_precedence: true
|
|
282
282
|
cli_boundary: >-
|
|
283
283
|
Slash routes and state commands are distinct: `/agentera plan` routes to
|
|
284
|
-
the plan capability, while `agentera state plan` remains the
|
|
284
|
+
the plan capability, while `agentera state plan list` remains the
|
|
285
285
|
state-oriented CLI command for reading plan state. Do not add capability or
|
|
286
286
|
alias commands to the CLI.
|
|
287
287
|
primary_aliases:
|
|
@@ -5,10 +5,16 @@
|
|
|
5
5
|
# and acceptance criteria, overall acceptance, and surprises.
|
|
6
6
|
#
|
|
7
7
|
# The active authority uses one plan or plan_task entity per writer-owned file.
|
|
8
|
-
# The aggregate model
|
|
9
|
-
#
|
|
8
|
+
# The aggregate model below is the complete atomic plan-create input. Its task
|
|
9
|
+
# numbers and numeric/string dependency references are create-local symbols,
|
|
10
|
+
# not persisted identities. Fields explicitly labeled migration-only remain
|
|
11
|
+
# compatibility input and are not ordinary post-cutover entity contracts.
|
|
10
12
|
#
|
|
11
|
-
# ──
|
|
13
|
+
# ── Legacy migration-input mapping: v1 PLAN.md → v2 plan.yaml ──
|
|
14
|
+
#
|
|
15
|
+
# The ordinal task fields in this mapping are create-local symbolic references.
|
|
16
|
+
# They are valid only inside one atomic `state plan create --input` document and
|
|
17
|
+
# are removed when the writer publishes plan and plan_task entities.
|
|
12
18
|
#
|
|
13
19
|
# v1 Field v2 Field v2 ID
|
|
14
20
|
# ─────────────────────────────────────────────────────────────────────
|
|
@@ -26,7 +32,7 @@
|
|
|
26
32
|
# ## Scope / **Out**: <list> SCOPE.excluded PL12
|
|
27
33
|
# ## Scope / **Deferred**: <list> SCOPE.deferred PL13
|
|
28
34
|
# ## Design PLAN.design PL14
|
|
29
|
-
# ### Task N: <name> TASK.number PL15
|
|
35
|
+
# ### Task N: <name> TASK.number PL15 (create-local only)
|
|
30
36
|
# (task name from heading) TASK.name PL16
|
|
31
37
|
# **Depends on**: <text> TASK.depends_on PL17
|
|
32
38
|
# **Status**: <status> TASK.status PL18
|
|
@@ -65,7 +71,34 @@ ENTITY_AUTHORITY:
|
|
|
65
71
|
task_get: agentera state plan tasks get --id ID --format json
|
|
66
72
|
mutation: agentera state plan explain --format json
|
|
67
73
|
direct_file_edits: forbidden
|
|
68
|
-
|
|
74
|
+
aggregate_schema_below: atomic_create_input
|
|
75
|
+
migration_compatibility: explicitly_labeled_fields_only
|
|
76
|
+
|
|
77
|
+
CANONICAL_ENTITY_CONTRACT:
|
|
78
|
+
authority: typed_state_writer
|
|
79
|
+
envelope_identity:
|
|
80
|
+
plan:
|
|
81
|
+
field: id
|
|
82
|
+
format: bare_ten_letter_id
|
|
83
|
+
selector: --id ID
|
|
84
|
+
assignment: writer_assigned_on_create
|
|
85
|
+
plan_task:
|
|
86
|
+
field: id
|
|
87
|
+
format: bare_ten_letter_id
|
|
88
|
+
selector: --id ID
|
|
89
|
+
assignment: writer_assigned_on_append
|
|
90
|
+
create_local_symbols:
|
|
91
|
+
scope: one_atomic_plan_create_input
|
|
92
|
+
task_field: number
|
|
93
|
+
dependency_accepted_forms: [positive_integer, canonical_numeric_string]
|
|
94
|
+
dependency_normalization: canonical_numeric_string_before_resolution
|
|
95
|
+
publication: remove_number_and_resolve_dependencies_to_bare_entity_ids
|
|
96
|
+
migration_compatibility:
|
|
97
|
+
header_id:
|
|
98
|
+
format: composite_plan_identity
|
|
99
|
+
status: migration_only_noncanonical
|
|
100
|
+
public_selector: forbidden
|
|
101
|
+
legacy_task_references: convert_to_bare_entity_ids_during_migration
|
|
69
102
|
|
|
70
103
|
GROUP_PREFIXES:
|
|
71
104
|
BUDGET: PB
|
|
@@ -165,11 +198,11 @@ HEADER:
|
|
|
165
198
|
type: string
|
|
166
199
|
required: false
|
|
167
200
|
description: >-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
201
|
+
Migration-only source identity. Canonical plan identity is the bare
|
|
202
|
+
ten-letter envelope `id` assigned by the typed writer; this source
|
|
203
|
+
`header.id` is never a public selector.
|
|
171
204
|
validation:
|
|
172
|
-
- "
|
|
205
|
+
- "Composite header.id is accepted only by legacy migration compatibility"
|
|
173
206
|
|
|
174
207
|
PLAN:
|
|
175
208
|
1:
|
|
@@ -324,11 +357,12 @@ TASK:
|
|
|
324
357
|
type: integer
|
|
325
358
|
required: true
|
|
326
359
|
description: >-
|
|
327
|
-
|
|
328
|
-
|
|
360
|
+
Create-local symbolic task ordinal within one atomic plan input.
|
|
361
|
+
Sequential values start at 1, are removed on publication, and are never
|
|
362
|
+
a canonical entity identity or public selector.
|
|
329
363
|
validation:
|
|
330
|
-
- "Must be a positive integer"
|
|
331
|
-
- "Must be unique within
|
|
364
|
+
- "Must be a positive integer in the create input"
|
|
365
|
+
- "Must be unique within that atomic input"
|
|
332
366
|
2:
|
|
333
367
|
id: PT16
|
|
334
368
|
field: name
|
|
@@ -342,11 +376,24 @@ TASK:
|
|
|
342
376
|
3:
|
|
343
377
|
id: PT17
|
|
344
378
|
field: depends_on
|
|
345
|
-
|
|
379
|
+
path: tasks[].depends_on
|
|
380
|
+
type: list[integer|string]
|
|
381
|
+
write_operations: [create]
|
|
382
|
+
accepted_forms:
|
|
383
|
+
atomic_plan_create: [positive_integer, canonical_numeric_string]
|
|
384
|
+
legacy_migration_only: [legacy_task_reference_string]
|
|
385
|
+
normalization: canonical_numeric_string_before_same_document_resolution
|
|
346
386
|
required: false
|
|
347
387
|
description: >-
|
|
348
|
-
|
|
349
|
-
|
|
388
|
+
Numeric or numeric-string dependency references are create-local symbolic
|
|
389
|
+
task ordinals only inside the current complete plan create input. The writer
|
|
390
|
+
resolves them within that atomic document, removes the ordinal references,
|
|
391
|
+
and publishes dependencies as bare ten-letter task envelope IDs. Empty for
|
|
392
|
+
root tasks.
|
|
393
|
+
validation:
|
|
394
|
+
- positive_integer_or_canonical_numeric_string
|
|
395
|
+
- unique_after_normalization_within_task
|
|
396
|
+
- resolves_to_declared_task_ordinal_in_same_atomic_document
|
|
350
397
|
4:
|
|
351
398
|
id: PT18
|
|
352
399
|
field: status
|
|
@@ -403,18 +450,20 @@ VALIDATION:
|
|
|
403
450
|
rule: unique_entity_ids
|
|
404
451
|
severity: error
|
|
405
452
|
description: >-
|
|
406
|
-
|
|
453
|
+
Create-local task ordinals must be unique within one atomic plan input and
|
|
454
|
+
sequential; they are not persisted entity identities.
|
|
407
455
|
checks:
|
|
408
|
-
- "All task
|
|
409
|
-
- "
|
|
456
|
+
- "All create-local task ordinals are unique"
|
|
457
|
+
- "Create-local task ordinals are sequential starting from 1"
|
|
410
458
|
2:
|
|
411
459
|
id: PV2
|
|
412
460
|
rule: required_fields
|
|
413
461
|
severity: error
|
|
414
462
|
description: >-
|
|
415
|
-
|
|
416
|
-
scope.included, scope.excluded, and at least one task. Each task
|
|
417
|
-
|
|
463
|
+
A complete create input must have: level, created, status, title, what,
|
|
464
|
+
why, scope.included, scope.excluded, and at least one task. Each task's
|
|
465
|
+
number is create-local and is removed before identity conversion. Legacy
|
|
466
|
+
source documents use the separate migration compatibility contract.
|
|
418
467
|
checks:
|
|
419
468
|
- "level is present and is 'light' or 'full'"
|
|
420
469
|
- "created is present and matches YYYY-MM-DD"
|
|
@@ -443,10 +492,14 @@ VALIDATION:
|
|
|
443
492
|
rule: dependency_references
|
|
444
493
|
severity: error
|
|
445
494
|
description: >-
|
|
446
|
-
|
|
447
|
-
|
|
495
|
+
Create-local depends_on references must point to valid task ordinals in
|
|
496
|
+
the same atomic input before conversion to bare task IDs. Legacy source
|
|
497
|
+
references use the migration compatibility path, not this public writer
|
|
498
|
+
vocabulary.
|
|
448
499
|
checks:
|
|
449
|
-
- "Each dependency
|
|
500
|
+
- "Each create-local dependency is a positive integer or canonical numeric string"
|
|
501
|
+
- "Each normalized dependency references an existing task ordinal"
|
|
502
|
+
- "Each task's normalized dependency ordinals are unique"
|
|
450
503
|
- "No circular dependency chains"
|
|
451
504
|
5:
|
|
452
505
|
id: PV5
|
|
@@ -463,12 +516,18 @@ LIFECYCLE_CONTRACT:
|
|
|
463
516
|
authority: this schema
|
|
464
517
|
canonical:
|
|
465
518
|
identity:
|
|
519
|
+
field: id
|
|
520
|
+
format: bare_ten_letter_id
|
|
521
|
+
assignment: The typed entity writer assigns the envelope identity at first publication.
|
|
522
|
+
transition: Active and archived entity positions retain the identical bare identity.
|
|
523
|
+
legacy: Legacy source header.id is migration-only and never a public selector.
|
|
524
|
+
collision: Different canonical entities with one identity are ambiguous and never selected by path or time.
|
|
525
|
+
migration_source_identity:
|
|
466
526
|
field: header.id
|
|
467
|
-
format: 'plan:<lowercase-rfc9562-uuid>'
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
collision: Different documents with one identity are ambiguous and never selected by path or time.
|
|
527
|
+
format: 'plan:<lowercase-rfc9562-uuid> or legacy-plan:<sha256>'
|
|
528
|
+
status: migration_only_noncanonical
|
|
529
|
+
assignment: Read-only compatibility derivation or retained legacy source value.
|
|
530
|
+
public_selector: forbidden
|
|
472
531
|
persisted_status:
|
|
473
532
|
field: header.status
|
|
474
533
|
values:
|