agentera 3.0.0-dev.8 → 3.0.0-dev.80
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/LICENSE +201 -0
- package/README.md +252 -22
- package/bundle/.agentera-build-source.json +8 -0
- package/bundle/CHANGELOG.md +1387 -0
- package/bundle/DESIGN.md +229 -0
- package/bundle/LICENSE +201 -0
- package/bundle/README.md +143 -0
- package/bundle/UPGRADE.md +271 -0
- package/bundle/extract-corpus-parity.json +2 -4
- package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
- package/bundle/references/adapters/package-publication.json +484 -0
- package/bundle/references/adapters/package-registry.yaml +443 -188
- package/bundle/references/adapters/package-surface-characterization.md +68 -34
- package/bundle/references/adapters/product-v1-reset.yaml +101 -0
- package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
- package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
- package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
- package/bundle/references/adapters/runtime-retired-resources.yaml +333 -0
- package/bundle/references/analysis/evidence-tier-authority.yaml +559 -0
- package/bundle/references/analysis/personal-glossary-evaluation-authority.yaml +175 -0
- package/bundle/references/analysis/personal-glossary-evaluation-corpus.yaml +291 -0
- package/bundle/references/analysis/personal-glossary-holdout.yaml +192 -0
- package/bundle/references/analysis/verification-policy.yaml +261 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +17 -8
- package/bundle/references/artifacts/glossary-entry-contract.yaml +2906 -0
- package/bundle/references/artifacts/state-storage-authority.yaml +3065 -0
- package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
- package/bundle/references/cli/capability-instruction-contract.yaml +11 -14
- package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
- package/bundle/references/cli/routing-model.md +152 -93
- package/bundle/references/cli/trigger-schema-enrichment.md +57 -46
- package/bundle/references/cli/update-channels.yaml +7 -5
- package/bundle/references/cli/vocabulary-index.yaml +7 -9
- package/bundle/references/cli/vocabulary.md +54 -97
- package/bundle/references/meta/retained-reference-authority.yaml +171 -0
- package/bundle/skills/agentera/SKILL.md +183 -63
- package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +27 -19
- package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
- package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +30 -11
- package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +44 -21
- package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +8 -6
- package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
- package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +95 -21
- package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
- package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
- package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +17 -13
- package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
- package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +72 -5
- package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +24 -17
- package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -35
- package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +13 -13
- package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +10 -10
- package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
- package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +3 -3
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +34 -22
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +9 -7
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +38 -37
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +20 -16
- package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +66 -6
- package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +13 -4
- package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +8 -5
- package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
- package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +67 -3
- package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
- package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +13 -12
- package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -49
- package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
- package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
- package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +14 -16
- package/bundle/skills/agentera/capability_schema_contract.yaml +32 -32
- package/bundle/skills/agentera/protocol.yaml +4 -4
- package/bundle/skills/agentera/route-phrases.yaml +81 -0
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +29 -30
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +7 -43
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +140 -34
- package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +87 -0
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +53 -51
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +18 -35
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +453 -55
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +128 -39
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +305 -7
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +0 -19
- package/dist/.agentera-build-source.json +8 -0
- package/dist/analytics/extractCorpus/cli.js +52 -11
- package/dist/analytics/extractCorpus/copilotSessions.js +19 -8
- package/dist/analytics/extractCorpus/core.js +262 -14
- package/dist/analytics/extractCorpus/corpus.js +57 -18
- package/dist/analytics/extractCorpus/coverageAudit.js +44 -45
- package/dist/analytics/extractCorpus/cursorSessions.js +28 -8
- package/dist/analytics/extractCorpus/evidenceTiers.js +709 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js +4 -4
- package/dist/analytics/extractCorpus/filesystemSources.js +5 -5
- package/dist/analytics/extractCorpus/index.js +4 -2
- package/dist/analytics/extractCorpus/jsonlSessions.js +76 -8
- package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
- package/dist/analytics/extractCorpus/sqliteSessions.js +12 -4
- package/dist/analytics/extractCorpus/tierReader.js +108 -0
- package/dist/analytics/extractCorpus.js +0 -1
- package/dist/analytics/glossaryAdviceResolution.js +166 -0
- package/dist/analytics/glossaryInputAcquisition.js +319 -0
- package/dist/analytics/personalGlossaryAdmission.js +113 -0
- package/dist/analytics/personalGlossaryCandidateProjection.js +788 -0
- package/dist/analytics/personalGlossaryCandidateProjectionExcerpts.js +144 -0
- package/dist/analytics/personalGlossaryCandidateProjectionModel.js +1 -0
- package/dist/analytics/personalGlossaryCandidateReadView.js +23 -0
- package/dist/analytics/personalGlossaryCurrentGeneration.js +25 -0
- package/dist/analytics/personalGlossaryDecision.js +203 -0
- package/dist/analytics/personalGlossaryExplicit.js +788 -0
- package/dist/analytics/personalGlossaryExplicitMining.js +285 -0
- package/dist/analytics/personalGlossaryExplicitScope.js +41 -0
- package/dist/analytics/personalGlossaryExplicitSegments.js +418 -0
- package/dist/analytics/personalGlossaryExplicitTypes.js +26 -0
- package/dist/analytics/personalGlossaryLexicalClassifier.js +175 -0
- package/dist/analytics/personalGlossaryProfile.js +229 -0
- package/dist/analytics/personalGlossaryRecurrence.js +618 -0
- package/dist/analytics/personalGlossaryRefreshProjection.js +351 -0
- package/dist/analytics/personalGlossaryReviewRecordStorage.js +428 -0
- package/dist/analytics/personalGlossaryReviewRecords.js +332 -0
- package/dist/analytics/profileSignals.js +211 -0
- package/dist/analytics/usageStats.js +150 -23
- package/dist/audit/terminologyDrift.js +281 -0
- package/dist/bin/agentera.js +3 -2
- package/dist/capabilities/audit/instructions.js +16 -6
- package/dist/capabilities/build/instructions.js +59 -6
- package/dist/capabilities/design/instructions.js +3 -4
- package/dist/capabilities/discuss/instructions.js +29 -6
- package/dist/capabilities/document/instructions.js +11 -6
- package/dist/capabilities/index.js +20 -14
- package/dist/capabilities/optimize/instructions.js +14 -6
- package/dist/capabilities/orchestrate/instructions.js +42 -6
- package/dist/capabilities/plan/instructions.js +30 -3
- package/dist/capabilities/profile/instructions.js +104 -5
- package/dist/capabilities/research/instructions.js +4 -5
- package/dist/capabilities/status/instructions.js +15 -6
- package/dist/capabilities/status/startupInstructions.js +34 -0
- package/dist/capabilities/vision/instructions.js +3 -5
- package/dist/cli/appContext.js +14 -7
- package/dist/cli/argvalidate.js +0 -1
- package/dist/cli/capabilityContext/benchmark.js +5 -4
- package/dist/cli/capabilityContext/bespoke.js +14 -6
- package/dist/cli/capabilityContext/build.js +116 -42
- package/dist/cli/capabilityContext/closeout.js +30 -27
- package/dist/cli/capabilityContext/contract.js +18 -27
- package/dist/cli/capabilityContext/evidence.js +84 -77
- package/dist/cli/capabilityContext/index.js +0 -1
- package/dist/cli/capabilityContext/orchestration.js +42 -18
- package/dist/cli/capabilityContext/planState.js +89 -96
- package/dist/cli/capabilityContext/progress.js +52 -12
- package/dist/cli/capabilityContext/projectVerification.js +409 -0
- package/dist/cli/capabilityContext/shared.js +9 -20
- package/dist/cli/capabilityContext/slim.js +52 -8
- package/dist/cli/capabilityContext/startup.js +51 -114
- package/dist/cli/capabilityContext/startupAggregation.js +68 -0
- package/dist/cli/capabilityContext/types.js +26 -10
- package/dist/cli/capabilityContext.js +0 -1
- package/dist/cli/commands/appHome.js +0 -1
- package/dist/cli/commands/capability.js +2 -2
- package/dist/cli/commands/compact.js +163 -13
- package/dist/cli/commands/doctor.js +118 -11
- package/dist/cli/commands/durability.js +81 -0
- package/dist/cli/commands/glossaryAdvice.js +138 -0
- package/dist/cli/commands/lint.js +22 -8
- package/dist/cli/commands/personalGlossaryCandidateReads.js +755 -0
- package/dist/cli/commands/personalGlossaryDecision.js +349 -0
- package/dist/cli/commands/personalGlossaryPublish.js +484 -0
- package/dist/cli/commands/personalGlossaryReviewRecordReads.js +209 -0
- package/dist/cli/commands/personalGlossaryReviewRecords.js +623 -0
- package/dist/cli/commands/prime/briefOrientation.js +845 -0
- package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
- package/dist/cli/commands/prime/bundleStatus.js +54 -4
- package/dist/cli/commands/prime/collectEntityOrientation.js +338 -0
- package/dist/cli/commands/prime/collectOrientationState.js +124 -68
- package/dist/cli/commands/prime/orientationOutput.js +271 -59
- package/dist/cli/commands/prime/types.js +0 -1
- package/dist/cli/commands/prime.js +89 -11
- package/dist/cli/commands/profileGrounding.js +55 -0
- package/dist/cli/commands/query.js +74 -52
- package/dist/cli/commands/report.js +187 -27
- package/dist/cli/commands/route.js +142 -0
- package/dist/cli/commands/schema.js +436 -138
- package/dist/cli/commands/state/decisions.js +40 -56
- package/dist/cli/commands/state/docs.js +58 -85
- package/dist/cli/commands/state/experimentRecords.js +151 -0
- package/dist/cli/commands/state/experiments.js +11 -65
- package/dist/cli/commands/state/get.js +129 -0
- package/dist/cli/commands/state/health.js +11 -113
- package/dist/cli/commands/state/index.js +6 -41
- package/dist/cli/commands/state/list.js +194 -0
- package/dist/cli/commands/state/objective.js +21 -65
- package/dist/cli/commands/state/plan.js +11 -170
- package/dist/cli/commands/state/planTasks.js +154 -0
- package/dist/cli/commands/state/plans.js +154 -0
- package/dist/cli/commands/state/progress.js +11 -45
- package/dist/cli/commands/state/shared.js +0 -1
- package/dist/cli/commands/state/todo.js +28 -107
- package/dist/cli/commands/state/write.js +459 -0
- package/dist/cli/commands/upgrade.js +176 -5
- package/dist/cli/commands/upgradeVerify.js +118 -0
- package/dist/cli/commands/validate.js +235 -136
- package/dist/cli/commands/verify.js +73 -16
- package/dist/cli/contracts/bundleStatus.js +0 -1
- package/dist/cli/contracts/orientationState.js +0 -1
- package/dist/cli/dispatch/argvParser.js +0 -1
- package/dist/cli/dispatch/check.js +84 -40
- package/dist/cli/dispatch/commands.js +3 -3
- package/dist/cli/dispatch/index.js +84 -52
- package/dist/cli/dispatch/lifecycle.js +182 -62
- package/dist/cli/dispatch/prime.js +37 -2
- package/dist/cli/dispatch/projections.js +17 -0
- package/dist/cli/dispatch/shared.js +1 -2
- package/dist/cli/dispatch/state.js +62 -66
- package/dist/cli/dispatch.js +0 -1
- package/dist/cli/errors.js +16 -17
- package/dist/cli/help.js +419 -41
- package/dist/cli/migrationRequired.js +125 -0
- package/dist/cli/orientation/attention.js +19 -22
- package/dist/cli/orientation/corpusCoverage.js +32 -1
- package/dist/cli/orientation.js +346 -129
- package/dist/cli/planArtifacts.js +350 -0
- package/dist/cli/planEvidence.js +157 -0
- package/dist/cli/planLifecycleState.js +36 -0
- package/dist/cli/planTaskIndex.js +11 -0
- package/dist/cli/preCutoverCommand.js +32 -0
- package/dist/cli/prime-blob.js +71 -3
- package/dist/cli/productV1Eol.js +55 -0
- package/dist/cli/profileAcquisition.js +167 -0
- package/dist/cli/startupCompletenessContract.js +11 -9
- package/dist/cli/stateQuery.js +47 -12
- package/dist/cli/structured.js +0 -1
- package/dist/cli/todoMarkdown.js +25 -12
- package/dist/cli/todoReadinessSelection.js +192 -0
- package/dist/cli/todoSeverity.js +0 -1
- package/dist/core/atomicWriter.js +23 -0
- package/dist/core/developmentChannel.js +1 -0
- package/dist/core/developmentInvocation.js +377 -0
- package/dist/core/difflib.js +0 -1
- package/dist/core/envPaths.js +0 -1
- package/dist/core/jsonValue.js +0 -1
- package/dist/core/paths.js +0 -1
- package/dist/core/pyjson.js +0 -1
- package/dist/core/shell.js +4 -0
- package/dist/core/skillIdentity.js +23 -0
- package/dist/core/sourceRoot.js +9 -12
- package/dist/core/text.js +10 -0
- package/dist/core/toml.js +0 -1
- package/dist/core/yaml.js +61 -2
- package/dist/eval/evalSkills.js +13 -14
- package/dist/eval/glossaryEvaluation.js +751 -0
- package/dist/eval/glossaryEvaluationProcess.js +29 -0
- package/dist/eval/glossaryEvaluationRunner.js +571 -0
- package/dist/eval/glossaryEvaluationSuccessReport.js +297 -0
- package/dist/eval/hybridRouteEvaluation.js +155 -0
- package/dist/eval/semanticEval.js +0 -1
- package/dist/eval/semanticFixtures.js +0 -1
- package/dist/hooks/common.js +3 -56
- package/dist/hooks/compaction/apply.js +224 -47
- package/dist/hooks/compaction/dryRun.js +2 -1
- package/dist/hooks/compaction/index.js +5 -6
- package/dist/hooks/compaction/parse.js +73 -6
- package/dist/hooks/compaction/retention.js +28 -25
- package/dist/hooks/compaction/status.js +145 -26
- package/dist/hooks/compaction/types.js +0 -1
- package/dist/hooks/validateArtifact/agentFacing.js +0 -1
- package/dist/hooks/validateArtifact/index.js +6 -65
- package/dist/hooks/validateArtifact/markdown.js +9 -10
- package/dist/hooks/validateArtifact/schema.js +96 -9
- package/dist/hooks/validateArtifact/traversal.js +12 -11
- package/dist/hooks/validateArtifact/violations.js +5 -3
- package/dist/migrate/v2HandoffManifest.js +8 -3
- package/dist/registries/activationContract.js +2 -0
- package/dist/registries/activationTuples.js +145 -0
- package/dist/registries/artifactProtocolIds.js +2 -1
- package/dist/registries/artifactRegistry.js +207 -60
- package/dist/registries/artifactSchemaProjection.js +45 -0
- package/dist/registries/capabilityContract.js +5 -21
- package/dist/registries/evaluatorHandoffContract.js +0 -1
- package/dist/registries/evidenceTierContract.js +375 -0
- package/dist/registries/explicitSegmentGrammarContract.js +619 -0
- package/dist/registries/glossaryAdviceContract.js +79 -0
- package/dist/registries/glossaryCandidateContractPaths.js +6 -0
- package/dist/registries/glossaryCandidateContracts.js +820 -0
- package/dist/registries/glossaryCandidateDecisionAuthority.js +119 -0
- package/dist/registries/glossaryCandidateDecisionContract.js +62 -0
- package/dist/registries/glossaryCandidateProjectionAuthority.js +345 -0
- package/dist/registries/glossaryCandidateProjectionContract.js +108 -0
- package/dist/registries/glossaryCaveatContract.js +67 -0
- package/dist/registries/glossaryConsumerContractValidation.js +787 -0
- package/dist/registries/glossaryEntryContract.js +759 -0
- package/dist/registries/glossaryEntryTemporal.js +12 -0
- package/dist/registries/glossaryMiningAuthority.js +764 -0
- package/dist/registries/glossaryProfileFullContract.js +24 -0
- package/dist/registries/glossaryReviewRecordsAuthority.js +426 -0
- package/dist/registries/glossaryReviewRecordsContract.js +129 -0
- package/dist/registries/glossaryTermIdentity.js +139 -0
- package/dist/registries/glossaryTermOccurrence.js +20 -0
- package/dist/registries/hybridRoute.js +274 -0
- package/dist/registries/hybridRouteReceipt.js +221 -0
- package/dist/registries/packagePublication.js +273 -0
- package/dist/registries/packageRegistry.js +184 -209
- package/dist/registries/personalGlossaryContracts.js +1 -0
- package/dist/registries/todoReadinessContract.js +448 -0
- package/dist/registries/triggerLoader.js +7 -44
- package/dist/registries/verbosityBudgetContract.js +205 -0
- package/dist/release/releaseMetadata.js +168 -11
- package/dist/runtime/lifecycleAdapterContract.js +457 -0
- package/dist/runtime/lifecycleAdapters.js +777 -0
- package/dist/runtime/lifecycleAuthority.js +453 -0
- package/dist/runtime/lifecycleOperationContract.js +123 -0
- package/dist/runtime/lifecycleOperations.js +634 -0
- package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
- package/dist/runtime/lifecyclePublication.js +415 -0
- package/dist/runtime/lifecycleSnapshot.js +438 -0
- package/dist/runtime/nativeResourceCleanup.js +503 -0
- package/dist/setup/opencode.js +20 -13
- package/dist/setup/opencodeConstants.js +1 -0
- package/dist/setup/sharedSkill.js +45 -0
- package/dist/setup/smokeChecks.js +14 -75
- package/dist/state/archiveDiscovery.js +580 -0
- package/dist/state/archivePublication.js +225 -0
- package/dist/state/archiveRecovery.js +237 -0
- package/dist/state/archiveReplay.js +53 -0
- package/dist/state/canonicalMigrationRecord.js +36 -0
- package/dist/state/changelog.js +221 -0
- package/dist/state/decisionEntities.js +367 -0
- package/dist/state/decisionLegacyValidation.js +215 -0
- package/dist/state/decisionMigrationProvenance.js +199 -0
- package/dist/state/decisionOverlay.js +254 -0
- package/dist/state/decisionRevision.js +256 -0
- package/dist/state/decisionRevisionMigration.js +89 -0
- package/dist/state/directRetrieval.js +323 -0
- package/dist/state/durability.js +324 -0
- package/dist/state/entityCutover.js +459 -0
- package/dist/state/entityCutoverGit.js +127 -0
- package/dist/state/entityGlossaryAuthority.js +13 -0
- package/dist/state/entityListProjection.js +187 -0
- package/dist/state/entityListRuntimeRegistry.js +85 -0
- package/dist/state/entityMigrationCausality.js +97 -0
- package/dist/state/entityMigrationIdentity.js +5 -0
- package/dist/state/entityMigrationPreview.js +840 -0
- package/dist/state/entityMigrationTodo.js +133 -0
- package/dist/state/entityPublicationContext.js +859 -0
- package/dist/state/entityRetrievalHelp.js +506 -0
- package/dist/state/entityStorage.js +899 -0
- package/dist/state/exactReplacementRecovery.js +18 -0
- package/dist/state/experimentArchive.js +63 -0
- package/dist/state/experimentIdentity.js +202 -0
- package/dist/state/healthEntities.js +262 -0
- package/dist/state/healthEntityValidation.js +18 -0
- package/dist/state/healthRepair.js +69 -0
- package/dist/state/installRoot.js +15 -7
- package/dist/state/legacyEntityCutoverEvidence.js +65 -0
- package/dist/state/legacyIdentity.js +47 -0
- package/dist/state/legacySummaryRecord.js +6 -0
- package/dist/state/listAccounting.js +54 -0
- package/dist/state/listClassification.js +17 -0
- package/dist/state/listCursor.js +42 -0
- package/dist/state/listRetrieval.js +781 -0
- package/dist/state/migrationSourceBinding.js +30 -0
- package/dist/state/objectiveExperimentEntities.js +322 -0
- package/dist/state/planEntities.js +1027 -0
- package/dist/state/planIdentity.js +47 -0
- package/dist/state/planLineageValidation.js +52 -0
- package/dist/state/planReplacementTransaction.js +475 -0
- package/dist/state/planRetrieval.js +313 -0
- package/dist/state/planTaskRetrieval.js +294 -0
- package/dist/state/progressEntities.js +512 -0
- package/dist/state/progressGlossaryCaveat.js +168 -0
- package/dist/state/progressPublicationOrder.js +19 -0
- package/dist/state/progressWritePolicy.js +33 -0
- package/dist/state/projectRoot.js +62 -0
- package/dist/state/projectionPolicy.js +190 -0
- package/dist/state/retrievalAuthority.js +156 -0
- package/dist/state/safeProjectFile.js +155 -0
- package/dist/state/startupAnalysis/benchmark.js +70 -9
- package/dist/state/startupAnalysis/contract.js +44 -10
- package/dist/state/startupAnalysis/helpers.js +1 -2
- package/dist/state/startupAnalysis/index.js +0 -1
- package/dist/state/startupAnalysis/metrics.js +0 -1
- package/dist/state/startupAnalysis/records.js +0 -1
- package/dist/state/startupAnalysis/report.js +0 -1
- package/dist/state/startupAnalysis/threshold.js +13 -1
- package/dist/state/startupAnalysis.js +0 -1
- package/dist/state/startupProjection.js +499 -0
- package/dist/state/stateMode.js +222 -0
- package/dist/state/stateStorageAuthority.js +47 -0
- package/dist/state/summaryEntityRead.js +25 -0
- package/dist/state/summaryMigrationProvenance.js +66 -0
- package/dist/state/summarySourceRowAuthority.js +36 -0
- package/dist/state/todoActivationSafety.js +58 -0
- package/dist/state/todoCreateBatch.js +69 -0
- package/dist/state/todoDocsEntities.js +1339 -0
- package/dist/state/todoDocsEntityValidation.js +158 -0
- package/dist/state/todoMarkdownProjection.js +63 -0
- package/dist/state/todoReconciliationActivation.js +182 -0
- package/dist/state/todoReconciliationInspection.js +184 -0
- package/dist/state/todoReconciliationRepair.js +320 -0
- package/dist/state/todoReconciliationTransaction.js +628 -0
- package/dist/state/todoSeverityHeadings.js +71 -0
- package/dist/state/todoTransitionBatch.js +65 -0
- package/dist/state/todoUpdateBatch.js +50 -0
- package/dist/state/write/assign.js +20 -0
- package/dist/state/write/candidateMutation.js +269 -0
- package/dist/state/write/errors.js +11 -0
- package/dist/state/write/experimentPublication.js +192 -0
- package/dist/state/write/explain.js +380 -0
- package/dist/state/write/fields.js +61 -0
- package/dist/state/write/glossaryPublication.js +263 -0
- package/dist/state/write/grammar.js +285 -0
- package/dist/state/write/helpers.js +29 -0
- package/dist/state/write/index.js +12 -0
- package/dist/state/write/input.js +391 -0
- package/dist/state/write/lock.js +837 -0
- package/dist/state/write/mutation.js +234 -0
- package/dist/state/write/operations.js +170 -0
- package/dist/state/write/planEvaluation.js +128 -0
- package/dist/state/write/planPublication.js +179 -0
- package/dist/state/write/runtimeOperations.js +146 -0
- package/dist/state/write/serialize.js +1 -0
- package/dist/state/write/transaction.js +57 -0
- package/dist/state/write/validate.js +7 -0
- package/dist/upgrade/appContentRefresh.js +77 -36
- package/dist/upgrade/appModel.js +0 -1
- package/dist/upgrade/atomicWriter.js +1 -0
- package/dist/upgrade/bundleEvidence.js +0 -1
- package/dist/upgrade/channels.js +6 -9
- package/dist/upgrade/compatibility.js +43 -17
- package/dist/upgrade/doctor.js +55 -32
- package/dist/upgrade/doctorClassifier.js +11 -1
- package/dist/upgrade/installedHooksRetirement.js +46 -40
- package/dist/upgrade/legacyAgentCleanup.js +133 -34
- package/dist/upgrade/lifecycleUpgrade.js +113 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +325 -82
- package/dist/upgrade/migrationPublication.js +122 -0
- package/dist/upgrade/nextMajorDoctor.js +0 -22
- package/dist/upgrade/npxPlatformStatus.js +2 -2
- package/dist/upgrade/productV1Reset.js +515 -0
- package/dist/upgrade/productV1ResetAuthority.js +139 -0
- package/dist/upgrade/projectIntegration.js +126 -134
- package/dist/upgrade/projectIntegrationDecision.js +21 -13
- package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
- package/dist/upgrade/runtimeMigration.js +210 -430
- package/dist/upgrade/upgradeCommands.js +14 -1
- package/dist/upgrade/upgradeLock.js +85 -0
- package/dist/upgrade/upgradeOrchestrator.js +253 -48
- package/dist/upgrade/v3CapabilitySurface.js +2 -3
- package/dist/upgrade/versionResolution.js +0 -1
- package/dist/validate/activationArtifactEvidence.js +866 -0
- package/dist/validate/activationArtifactEvidenceTypes.js +12 -0
- package/dist/validate/activationConjunction.js +816 -0
- package/dist/validate/activationEvidenceManifest.js +610 -0
- package/dist/validate/activationPackageSemantics.js +29 -0
- package/dist/validate/appHomeContract.js +1 -7
- package/dist/validate/bootstrapAuthority.js +44 -0
- package/dist/validate/capability.js +11 -3
- package/dist/validate/crossCapability.js +14 -9
- package/dist/validate/glossaryVariantGuard.js +96 -0
- package/dist/validate/retainedReferenceAuthority.js +879 -0
- package/dist/validate/selfAudit.js +39 -45
- package/dist/validate/vocabularyAuthority.js +8 -8
- package/package.json +39 -13
- package/bundle/references/adapters/cursor.md +0 -214
- package/bundle/references/adapters/opencode.md +0 -530
- package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
- package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
- package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -554
- package/bundle/references/adapters/runtime-feature-parity.md +0 -189
- package/bundle/references/analysis/benchmark.md +0 -267
- package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
- package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -369
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -250
- package/bundle/references/cli/capability-tool-classification.yaml +0 -53
- package/bundle/references/cli/coexistence-probe.yaml +0 -13
- package/bundle/references/cli/parity-expected-actual-template.md +0 -30
- package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
- package/bundle/references/cli/single-name-protocol.yaml +0 -42
- package/bundle/references/cli/upgrade-repair-wording.md +0 -45
- package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -98
- package/bundle/references/meta/documentation-inventory.md +0 -49
- package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
- package/bundle/skills/agentera/agents/audit.toml +0 -6
- package/bundle/skills/agentera/agents/build.toml +0 -6
- package/bundle/skills/agentera/agents/design.toml +0 -6
- package/bundle/skills/agentera/agents/discuss.toml +0 -6
- package/bundle/skills/agentera/agents/document.toml +0 -6
- package/bundle/skills/agentera/agents/optimize.toml +0 -6
- package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
- package/bundle/skills/agentera/agents/plan.toml +0 -6
- package/bundle/skills/agentera/agents/profile.toml +0 -6
- package/bundle/skills/agentera/agents/research.toml +0 -6
- package/bundle/skills/agentera/agents/status.toml +0 -6
- package/bundle/skills/agentera/agents/vision.toml +0 -6
- package/bundle/skills/agentera/references/contract.md +0 -1048
- package/dist/analytics/extractCorpus/cli.js.map +0 -1
- package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
- package/dist/analytics/extractCorpus/core.js.map +0 -1
- package/dist/analytics/extractCorpus/corpus.js.map +0 -1
- package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
- package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
- package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
- package/dist/analytics/extractCorpus/index.js.map +0 -1
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
- package/dist/analytics/extractCorpus.js.map +0 -1
- package/dist/analytics/usageStats.js.map +0 -1
- package/dist/bin/agentera.js.map +0 -1
- package/dist/capabilities/audit/instructions.js.map +0 -1
- package/dist/capabilities/build/instructions.js.map +0 -1
- package/dist/capabilities/design/instructions.js.map +0 -1
- package/dist/capabilities/discuss/instructions.js.map +0 -1
- package/dist/capabilities/document/instructions.js.map +0 -1
- package/dist/capabilities/index.js.map +0 -1
- package/dist/capabilities/optimize/instructions.js.map +0 -1
- package/dist/capabilities/orchestrate/instructions.js.map +0 -1
- package/dist/capabilities/plan/instructions.js.map +0 -1
- package/dist/capabilities/profile/instructions.js.map +0 -1
- package/dist/capabilities/research/instructions.js.map +0 -1
- package/dist/capabilities/status/instructions.js.map +0 -1
- package/dist/capabilities/vision/instructions.js.map +0 -1
- package/dist/cli/appContext.js.map +0 -1
- package/dist/cli/argvalidate.js.map +0 -1
- package/dist/cli/capabilityContext/benchmark.js.map +0 -1
- package/dist/cli/capabilityContext/bespoke.js.map +0 -1
- package/dist/cli/capabilityContext/build.js.map +0 -1
- package/dist/cli/capabilityContext/closeout.js.map +0 -1
- package/dist/cli/capabilityContext/contract.js.map +0 -1
- package/dist/cli/capabilityContext/evidence.js.map +0 -1
- package/dist/cli/capabilityContext/index.js.map +0 -1
- package/dist/cli/capabilityContext/orchestration.js.map +0 -1
- package/dist/cli/capabilityContext/planState.js.map +0 -1
- package/dist/cli/capabilityContext/progress.js.map +0 -1
- package/dist/cli/capabilityContext/shared.js.map +0 -1
- package/dist/cli/capabilityContext/slim.js.map +0 -1
- package/dist/cli/capabilityContext/startup.js.map +0 -1
- package/dist/cli/capabilityContext/types.js.map +0 -1
- package/dist/cli/capabilityContext.js.map +0 -1
- package/dist/cli/commands/appHome.js.map +0 -1
- package/dist/cli/commands/capability.js.map +0 -1
- package/dist/cli/commands/compact.js.map +0 -1
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/lint.js.map +0 -1
- package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
- package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
- package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
- package/dist/cli/commands/prime/types.js.map +0 -1
- package/dist/cli/commands/prime/v1Migration.js +0 -39
- package/dist/cli/commands/prime/v1Migration.js.map +0 -1
- package/dist/cli/commands/prime.js.map +0 -1
- package/dist/cli/commands/query.js.map +0 -1
- package/dist/cli/commands/report.js.map +0 -1
- package/dist/cli/commands/schema.js.map +0 -1
- package/dist/cli/commands/state/decisions.js.map +0 -1
- package/dist/cli/commands/state/docs.js.map +0 -1
- package/dist/cli/commands/state/experiments.js.map +0 -1
- package/dist/cli/commands/state/health.js.map +0 -1
- package/dist/cli/commands/state/index.js.map +0 -1
- package/dist/cli/commands/state/objective.js.map +0 -1
- package/dist/cli/commands/state/plan.js.map +0 -1
- package/dist/cli/commands/state/progress.js.map +0 -1
- package/dist/cli/commands/state/shared.js.map +0 -1
- package/dist/cli/commands/state/todo.js.map +0 -1
- package/dist/cli/commands/upgrade.js.map +0 -1
- package/dist/cli/commands/validate.js.map +0 -1
- package/dist/cli/commands/verify.js.map +0 -1
- package/dist/cli/contracts/bundleStatus.js.map +0 -1
- package/dist/cli/contracts/orientationState.js.map +0 -1
- package/dist/cli/dispatch/argvParser.js.map +0 -1
- package/dist/cli/dispatch/check.js.map +0 -1
- package/dist/cli/dispatch/commands.js.map +0 -1
- package/dist/cli/dispatch/index.js.map +0 -1
- package/dist/cli/dispatch/lifecycle.js.map +0 -1
- package/dist/cli/dispatch/prime.js.map +0 -1
- package/dist/cli/dispatch/shared.js.map +0 -1
- package/dist/cli/dispatch/state.js.map +0 -1
- package/dist/cli/dispatch.js.map +0 -1
- package/dist/cli/errors.js.map +0 -1
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/orientation/attention.js.map +0 -1
- package/dist/cli/orientation/corpusCoverage.js.map +0 -1
- package/dist/cli/orientation.js.map +0 -1
- package/dist/cli/prime-blob.js.map +0 -1
- package/dist/cli/startupCompletenessContract.js.map +0 -1
- package/dist/cli/stateQuery.js.map +0 -1
- package/dist/cli/structured.js.map +0 -1
- package/dist/cli/todoMarkdown.js.map +0 -1
- package/dist/cli/todoSeverity.js.map +0 -1
- package/dist/core/difflib.js.map +0 -1
- package/dist/core/envPaths.js.map +0 -1
- package/dist/core/jsonValue.js.map +0 -1
- package/dist/core/paths.js.map +0 -1
- package/dist/core/pyjson.js.map +0 -1
- package/dist/core/sourceRoot.js.map +0 -1
- package/dist/core/toml.js.map +0 -1
- package/dist/core/yaml.js.map +0 -1
- package/dist/eval/evalSkills.js.map +0 -1
- package/dist/eval/semanticEval.js.map +0 -1
- package/dist/eval/semanticFixtures.js.map +0 -1
- package/dist/hooks/common.js.map +0 -1
- package/dist/hooks/compaction/apply.js.map +0 -1
- package/dist/hooks/compaction/dryRun.js.map +0 -1
- package/dist/hooks/compaction/index.js.map +0 -1
- package/dist/hooks/compaction/parse.js.map +0 -1
- package/dist/hooks/compaction/retention.js.map +0 -1
- package/dist/hooks/compaction/status.js.map +0 -1
- package/dist/hooks/compaction/types.js.map +0 -1
- package/dist/hooks/cursorPreToolUse.js +0 -19
- package/dist/hooks/cursorPreToolUse.js.map +0 -1
- package/dist/hooks/cursorSessionStart.js +0 -79
- package/dist/hooks/cursorSessionStart.js.map +0 -1
- package/dist/hooks/sessionStart.js +0 -216
- package/dist/hooks/sessionStart.js.map +0 -1
- package/dist/hooks/sessionStop.js +0 -206
- package/dist/hooks/sessionStop.js.map +0 -1
- package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
- package/dist/hooks/validateArtifact/index.js.map +0 -1
- package/dist/hooks/validateArtifact/markdown.js.map +0 -1
- package/dist/hooks/validateArtifact/runtime.js +0 -86
- package/dist/hooks/validateArtifact/runtime.js.map +0 -1
- package/dist/hooks/validateArtifact/schema.js.map +0 -1
- package/dist/hooks/validateArtifact/traversal.js.map +0 -1
- package/dist/hooks/validateArtifact/violations.js.map +0 -1
- package/dist/migrate/v2HandoffManifest.js.map +0 -1
- package/dist/registries/artifactProtocolIds.js.map +0 -1
- package/dist/registries/artifactRegistry.js.map +0 -1
- package/dist/registries/capabilityContract.js.map +0 -1
- package/dist/registries/evaluatorHandoffContract.js.map +0 -1
- package/dist/registries/packageRegistry.js.map +0 -1
- package/dist/registries/runtimeAdapterRegistry.js +0 -316
- package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
- package/dist/registries/triggerLoader.js.map +0 -1
- package/dist/release/releaseMetadata.js.map +0 -1
- package/dist/setup/codex/agents.js +0 -96
- package/dist/setup/codex/agents.js.map +0 -1
- package/dist/setup/codex/cli.js +0 -161
- package/dist/setup/codex/cli.js.map +0 -1
- package/dist/setup/codex/configToml.js +0 -639
- package/dist/setup/codex/configToml.js.map +0 -1
- package/dist/setup/codex/constants.js +0 -29
- package/dist/setup/codex/constants.js.map +0 -1
- package/dist/setup/codex/installRoot.js +0 -64
- package/dist/setup/codex/installRoot.js.map +0 -1
- package/dist/setup/codex/state.js +0 -270
- package/dist/setup/codex/state.js.map +0 -1
- package/dist/setup/codex.js +0 -12
- package/dist/setup/codex.js.map +0 -1
- package/dist/setup/copilot.js +0 -227
- package/dist/setup/copilot.js.map +0 -1
- package/dist/setup/cursor.js +0 -129
- package/dist/setup/cursor.js.map +0 -1
- package/dist/setup/cursorSurfaces.js +0 -67
- package/dist/setup/cursorSurfaces.js.map +0 -1
- package/dist/setup/doctor/core.js +0 -300
- package/dist/setup/doctor/core.js.map +0 -1
- package/dist/setup/doctor/diagnostics.js +0 -240
- package/dist/setup/doctor/diagnostics.js.map +0 -1
- package/dist/setup/doctor/opencode.js +0 -313
- package/dist/setup/doctor/opencode.js.map +0 -1
- package/dist/setup/doctor/report.js +0 -425
- package/dist/setup/doctor/report.js.map +0 -1
- package/dist/setup/doctor.js +0 -10
- package/dist/setup/doctor.js.map +0 -1
- package/dist/setup/opencode.js.map +0 -1
- package/dist/setup/smokeChecks.js.map +0 -1
- package/dist/state/installRoot.js.map +0 -1
- package/dist/state/startupAnalysis/benchmark.js.map +0 -1
- package/dist/state/startupAnalysis/contract.js.map +0 -1
- package/dist/state/startupAnalysis/helpers.js.map +0 -1
- package/dist/state/startupAnalysis/index.js.map +0 -1
- package/dist/state/startupAnalysis/metrics.js.map +0 -1
- package/dist/state/startupAnalysis/records.js.map +0 -1
- package/dist/state/startupAnalysis/report.js.map +0 -1
- package/dist/state/startupAnalysis/threshold.js.map +0 -1
- package/dist/state/startupAnalysis.js.map +0 -1
- package/dist/upgrade/appContentRefresh.js.map +0 -1
- package/dist/upgrade/appModel.js.map +0 -1
- package/dist/upgrade/bundleEvidence.js.map +0 -1
- package/dist/upgrade/channels.js.map +0 -1
- package/dist/upgrade/coexistenceProbe.js +0 -107
- package/dist/upgrade/coexistenceProbe.js.map +0 -1
- package/dist/upgrade/compatibility.js.map +0 -1
- package/dist/upgrade/doctor.js.map +0 -1
- package/dist/upgrade/doctorClassifier.js.map +0 -1
- package/dist/upgrade/installedHooksRetirement.js.map +0 -1
- package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
- package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
- package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
- package/dist/upgrade/nextMajorDoctor.js.map +0 -1
- package/dist/upgrade/npxPlatformStatus.js.map +0 -1
- package/dist/upgrade/projectIntegration.js.map +0 -1
- package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
- package/dist/upgrade/runtimeMigration.js.map +0 -1
- package/dist/upgrade/upgradeCommands.js.map +0 -1
- package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
- package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
- package/dist/upgrade/versionResolution.js.map +0 -1
- package/dist/validate/appHomeContract.js.map +0 -1
- package/dist/validate/capability.js.map +0 -1
- package/dist/validate/crossCapability.js.map +0 -1
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -488
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
- package/dist/validate/lifecycleAdapters/shared.js +0 -198
- package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
- package/dist/validate/lifecycleAdapters.js +0 -62
- package/dist/validate/lifecycleAdapters.js.map +0 -1
- package/dist/validate/selfAudit.js.map +0 -1
- package/dist/validate/vocabularyAuthority.js.map +0 -1
|
@@ -2,31 +2,7 @@
|
|
|
2
2
|
* Self-audit checks for artifact writing conventions. Faithful TS port of
|
|
3
3
|
* `scripts/self_audit.py`. Advisory only — report but do not block writes.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
const FULL_FILE_BUDGETS = {
|
|
7
|
-
progress: 3000,
|
|
8
|
-
experiments: 2500,
|
|
9
|
-
health: 2000,
|
|
10
|
-
decisions: 5000,
|
|
11
|
-
todo: 5000,
|
|
12
|
-
changelog: 5000,
|
|
13
|
-
plan: 2500,
|
|
14
|
-
vision: 1500,
|
|
15
|
-
design: 2000,
|
|
16
|
-
docs: 2000,
|
|
17
|
-
};
|
|
18
|
-
const PER_ENTRY_BUDGETS = {
|
|
19
|
-
progress: 500,
|
|
20
|
-
experiments: 300,
|
|
21
|
-
health: 150,
|
|
22
|
-
decisions: 200,
|
|
23
|
-
todo: 100,
|
|
24
|
-
changelog: 300,
|
|
25
|
-
plan: 100,
|
|
26
|
-
};
|
|
27
|
-
function resolveBudgetArtifact(artifact) {
|
|
28
|
-
return normalizeArtifactProtocolId(artifact) ?? artifact.toLowerCase();
|
|
29
|
-
}
|
|
5
|
+
import { inspectArtifactVerbosityBudget, } from "../registries/verbosityBudgetContract.js";
|
|
30
6
|
const FILE_PATH_RE = /\b(?:[A-Za-z0-9_.-]+\/)+[A-Za-z0-9_.-]+\.[A-Za-z]{1,10}\b/;
|
|
31
7
|
const REPO_PATH_RE = /\b(?:internal|src|lib|pkg|cmd|app|test|tests|doc|docs|script|scripts|skill|skills|hook|hooks|fixture|fixtures|reference|references)(?:\/[A-Za-z0-9_.-]+)+\b/;
|
|
32
8
|
const LINE_NUMBER_RE = /:\d{2,}\b/;
|
|
@@ -49,34 +25,56 @@ const BANNED_PATTERNS = [
|
|
|
49
25
|
["filler introductions", /After\s+careful\s+consideration\b/i],
|
|
50
26
|
["summary preambles", /\bIn\s+summary\b/i],
|
|
51
27
|
["summary preambles", /\bTo\s+recap\b/i],
|
|
52
|
-
["summary preambles", /\bOverall\b/i],
|
|
28
|
+
["summary preambles", /\bOverall\b(?!\s+acceptance\b)/i],
|
|
53
29
|
["excessive justification", /I\s+chose\s+this\s+approach\s+because\b/i],
|
|
54
30
|
];
|
|
55
31
|
/** Count non-whitespace tokens, matching Python's str.split(). */
|
|
56
32
|
function wordCount(text) {
|
|
57
33
|
return (text.match(/\S+/g) ?? []).length;
|
|
58
34
|
}
|
|
59
|
-
export function checkVerbosity(text, artifact,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
35
|
+
export function checkVerbosity(text, artifact, contractPath) {
|
|
36
|
+
return checkAuthoritativeWordBudget(text, artifact, false, contractPath);
|
|
37
|
+
}
|
|
38
|
+
export function checkFullFileVerbosity(text, artifact, contractPath) {
|
|
39
|
+
return checkAuthoritativeWordBudget(text, artifact, true, contractPath);
|
|
40
|
+
}
|
|
41
|
+
function authorityError(artifact, detail) {
|
|
42
|
+
return [
|
|
43
|
+
false,
|
|
44
|
+
`verbosity authority error for ${JSON.stringify(artifact)}: ${detail}; ` +
|
|
45
|
+
"repair the declared owner in references/artifacts/verbosity-budget-authority.yaml",
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
function applicableDimensions(dimensions, fullArtifact) {
|
|
49
|
+
return dimensions.filter((dimension) => fullArtifact ? dimension.scope === "full_file" : dimension.scope !== "full_file");
|
|
50
|
+
}
|
|
51
|
+
function checkAuthoritativeWordBudget(text, artifact, fullArtifact, contractPath) {
|
|
52
|
+
let dimensions;
|
|
53
|
+
try {
|
|
54
|
+
dimensions = inspectArtifactVerbosityBudget(artifact, contractPath).dimensions;
|
|
67
55
|
}
|
|
68
|
-
|
|
56
|
+
catch (error) {
|
|
57
|
+
return authorityError(artifact, error.message);
|
|
58
|
+
}
|
|
59
|
+
const invalid = dimensions.filter((dimension) => dimension.classification === "invalid_declaration");
|
|
60
|
+
if (invalid.length > 0) {
|
|
61
|
+
return authorityError(artifact, invalid.map((dimension) => `${dimension.scope}: ${dimension.error ?? "invalid declaration"}`).join("; "));
|
|
62
|
+
}
|
|
63
|
+
const applicable = applicableDimensions(dimensions, fullArtifact);
|
|
64
|
+
if (applicable.length > 1) {
|
|
65
|
+
const kind = fullArtifact ? "full-file" : "per-entry";
|
|
66
|
+
return authorityError(artifact, `multiple ${kind} declarations apply: ${applicable.map((d) => d.scope).join(", ")}`);
|
|
67
|
+
}
|
|
68
|
+
const dimension = applicable[0];
|
|
69
|
+
if (!dimension || dimension.classification !== "numeric_limit") {
|
|
69
70
|
return [true, ""];
|
|
70
71
|
}
|
|
71
|
-
return [false, `verbosity mismatch: ${count} words exceeds ${perEntryBudget} budget`];
|
|
72
|
-
}
|
|
73
|
-
export function checkFullFileVerbosity(text, artifact) {
|
|
74
72
|
const count = wordCount(text);
|
|
75
|
-
|
|
76
|
-
if (count <= budget) {
|
|
73
|
+
if (count <= dimension.limit) {
|
|
77
74
|
return [true, ""];
|
|
78
75
|
}
|
|
79
|
-
|
|
76
|
+
const qualifier = fullArtifact ? " full-file" : "";
|
|
77
|
+
return [false, `verbosity mismatch: ${count} words exceeds ${dimension.limit}${qualifier} budget`];
|
|
80
78
|
}
|
|
81
79
|
export function checkAbstraction(text) {
|
|
82
80
|
for (const re of [
|
|
@@ -112,9 +110,6 @@ export function checkFiller(text) {
|
|
|
112
110
|
/** Smoke-validate that self-audit conventions and budgets are wired. */
|
|
113
111
|
export function validateSelfAuditConventions() {
|
|
114
112
|
const errors = [];
|
|
115
|
-
if (Object.keys(FULL_FILE_BUDGETS).length === 0 || Object.keys(PER_ENTRY_BUDGETS).length === 0) {
|
|
116
|
-
errors.push("self-audit: budget tables must be non-empty");
|
|
117
|
-
}
|
|
118
113
|
const sample = "concrete anchor `scripts/agentera` at line 42 with 12 words total here";
|
|
119
114
|
const [verbosityOk] = checkVerbosity(sample, "progress");
|
|
120
115
|
if (!verbosityOk) {
|
|
@@ -146,4 +141,3 @@ export function selfAuditMain(opts = {}) {
|
|
|
146
141
|
out("self-audit conventions ok");
|
|
147
142
|
return 0;
|
|
148
143
|
}
|
|
149
|
-
//# sourceMappingURL=selfAudit.js.map
|
|
@@ -4,6 +4,7 @@ import { resolvePath } from "../core/paths.js";
|
|
|
4
4
|
import { resolveSourceRoot } from "../core/sourceRoot.js";
|
|
5
5
|
import { loadYamlMappingFile } from "../core/yaml.js";
|
|
6
6
|
import { APP_MANUAL_REVIEW_NEEDED, APP_MIGRATION_NEEDED, APP_OUTDATED, APP_REPAIR_NEEDED, APP_UP_TO_DATE, } from "../upgrade/doctor.js";
|
|
7
|
+
import { validateGlossaryEntryContract } from "../registries/glossaryEntryContract.js";
|
|
7
8
|
/**
|
|
8
9
|
* Validate vocabulary authority YAML contracts (Decision 54 lifecycle status
|
|
9
10
|
* vocabulary, Decision 57 first_invocation_read, update channels, index order).
|
|
@@ -218,8 +219,8 @@ function validateInstructionContract(root) {
|
|
|
218
219
|
}
|
|
219
220
|
else {
|
|
220
221
|
const meaning = String(allowed.prime_context.meaning ?? "");
|
|
221
|
-
if (!meaning.includes("agentera prime --context")) {
|
|
222
|
-
errors.push("capability-instruction-contract.yaml: prime_context obligation must reference agentera prime --context");
|
|
222
|
+
if (!meaning.includes("npx -y agentera@next prime --context")) {
|
|
223
|
+
errors.push("capability-instruction-contract.yaml: prime_context obligation must reference npx -y agentera@next prime --context");
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
if (firstRead.default_rule !== "prime_context") {
|
|
@@ -253,12 +254,11 @@ function validateVocabularyIndex(root) {
|
|
|
253
254
|
}
|
|
254
255
|
const lifecycleIdx = order.indexOf("references/cli/app-lifecycle-vocabulary.yaml");
|
|
255
256
|
const channelsIdx = order.indexOf("references/cli/update-channels.yaml");
|
|
256
|
-
|
|
257
|
-
if (lifecycleIdx < 0 || channelsIdx < 0 || bundleIdx < 0) {
|
|
257
|
+
if (lifecycleIdx < 0 || channelsIdx < 0) {
|
|
258
258
|
errors.push("vocabulary-index.yaml: authority_order missing required vocabulary authorities");
|
|
259
259
|
}
|
|
260
|
-
else if (!(lifecycleIdx < channelsIdx
|
|
261
|
-
errors.push("vocabulary-index.yaml: authority_order must place lifecycle before channels
|
|
260
|
+
else if (!(lifecycleIdx < channelsIdx)) {
|
|
261
|
+
errors.push("vocabulary-index.yaml: authority_order must place lifecycle before channels");
|
|
262
262
|
}
|
|
263
263
|
const vocabularyMd = authorityPath(root, "references/cli/vocabulary.md");
|
|
264
264
|
if (!fs.existsSync(vocabularyMd)) {
|
|
@@ -271,7 +271,7 @@ function validateVocabularyIndex(root) {
|
|
|
271
271
|
!lifecycleSection.includes("machine-readable authority")) {
|
|
272
272
|
errors.push("references/cli/vocabulary.md: app lifecycle section must delegate to YAML authority");
|
|
273
273
|
}
|
|
274
|
-
const channelsSection = vocabulary.split("### Update channels")[1]?.split("
|
|
274
|
+
const channelsSection = vocabulary.split("### Update channels")[1]?.split("## Evaluation and evidence grammar", 1)[0] ?? "";
|
|
275
275
|
if (!channelsSection.includes("references/cli/update-channels.yaml") ||
|
|
276
276
|
!channelsSection.includes("machine-readable authority")) {
|
|
277
277
|
errors.push("references/cli/vocabulary.md: update channels section must delegate to YAML authority");
|
|
@@ -285,6 +285,7 @@ export function validateVocabularyAuthority(root = rootDefault()) {
|
|
|
285
285
|
...validateUpdateChannelsAuthority(resolved),
|
|
286
286
|
...validateInstructionContract(resolved),
|
|
287
287
|
...validateVocabularyIndex(resolved),
|
|
288
|
+
...validateGlossaryEntryContract(authorityPath(resolved, "references/artifacts/glossary-entry-contract.yaml")),
|
|
288
289
|
];
|
|
289
290
|
}
|
|
290
291
|
export function vocabularyAuthorityMain(opts = {}) {
|
|
@@ -300,4 +301,3 @@ export function vocabularyAuthorityMain(opts = {}) {
|
|
|
300
301
|
out("vocabulary authority ok");
|
|
301
302
|
return 0;
|
|
302
303
|
}
|
|
303
|
-
//# sourceMappingURL=vocabularyAuthority.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentera",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.0.0-dev.80",
|
|
4
|
+
"description": "One CLI, many capabilities: project state, artifact validation, and capability routing for AI coding agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agentera",
|
|
7
7
|
"agents",
|
|
@@ -29,31 +29,57 @@
|
|
|
29
29
|
"tag": "next"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
|
-
"build": "
|
|
33
|
-
"prepack": "
|
|
34
|
-
"test": "
|
|
35
|
-
"test:
|
|
32
|
+
"build": "node scripts/build-package.mjs",
|
|
33
|
+
"prepack": "node scripts/reject-direct-prepack.mjs",
|
|
34
|
+
"test": "pnpm run test:source",
|
|
35
|
+
"test:source": "node scripts/verify-lane.mjs source",
|
|
36
|
+
"test:stress": "node scripts/verify-lane.mjs stress",
|
|
37
|
+
"test:performance": "node scripts/verify-lane.mjs performance",
|
|
38
|
+
"test:performance:integration": "node test/integration/performanceOwner.integration.mjs",
|
|
39
|
+
"test:capacity": "node scripts/verify-lane.mjs capacity",
|
|
40
|
+
"test:watch": "vp test watch --config vite.config.ts",
|
|
41
|
+
"verify:package": "node scripts/verify-lane.mjs package",
|
|
42
|
+
"verify:generated-overlap": "node scripts/verify-generated-overlap.mjs",
|
|
43
|
+
"generated:cleanup": "node scripts/build-package.mjs --cleanup",
|
|
44
|
+
"pack:dry-run": "node scripts/pack-package.mjs --dry-run",
|
|
45
|
+
"release:prepare": "node scripts/publication-transaction.mjs prepare development",
|
|
46
|
+
"release:qualify:source": "node scripts/release-qualification.mjs source",
|
|
47
|
+
"release:ready": "node scripts/release-readiness.mjs development",
|
|
48
|
+
"release:qualify:candidate": "node scripts/release-qualification.mjs candidate --adapter development",
|
|
49
|
+
"release:approve": "node scripts/release-qualification.mjs approval --adapter development",
|
|
50
|
+
"release:attest": "node scripts/release-qualification.mjs attest --adapter development",
|
|
51
|
+
"release:benchmark:qualification": "node scripts/release-benchmark.mjs qualification",
|
|
52
|
+
"release:publish:qualified": "node scripts/release-benchmark.mjs publication --adapter development",
|
|
53
|
+
"release:stage": "node scripts/publication-transaction.mjs stage development --approve",
|
|
54
|
+
"release:promote": "node scripts/publication-transaction.mjs promote development --approve",
|
|
55
|
+
"verify:targeted": "node scripts/verify-lane.mjs policy targeted",
|
|
56
|
+
"verify:precommit": "node scripts/verify-lane.mjs policy precommit",
|
|
57
|
+
"verify:fast": "node scripts/verify-lane.mjs policy fast",
|
|
58
|
+
"verify:local": "node scripts/verify-lane.mjs policy local",
|
|
59
|
+
"verify:merge": "node scripts/verify-lane.mjs policy merge",
|
|
60
|
+
"verify:scheduled": "node scripts/verify-lane.mjs policy scheduled",
|
|
61
|
+
"verify:release": "node scripts/release-qualification.mjs verify --json",
|
|
36
62
|
"lint": "vp lint",
|
|
37
63
|
"fmt": "vp fmt",
|
|
38
64
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
39
|
-
"bundle:data": "node scripts/
|
|
40
|
-
"publish:dev": "set -a; [ -f ../../.env ] && . ../../.env; set +a; npm run build && npm run bundle:data && npm publish --tag next"
|
|
65
|
+
"bundle:data": "node scripts/build-package.mjs"
|
|
41
66
|
},
|
|
42
67
|
"dependencies": {
|
|
43
|
-
"smol-toml": "^1.
|
|
68
|
+
"smol-toml": "^1.7.1",
|
|
44
69
|
"yaml": "^2.8.3"
|
|
45
70
|
},
|
|
46
71
|
"devDependencies": {
|
|
47
72
|
"@types/node": "^22.10.0",
|
|
48
|
-
"typescript": "
|
|
49
|
-
"
|
|
50
|
-
"vite
|
|
73
|
+
"@typescript/typescript6": "6.0.2",
|
|
74
|
+
"typescript": "^7.0.2",
|
|
75
|
+
"vite": "^8.2.1",
|
|
76
|
+
"vite-plus": "^0.2.8"
|
|
51
77
|
},
|
|
52
78
|
"engines": {
|
|
53
79
|
"node": ">=22"
|
|
54
80
|
},
|
|
55
81
|
"agentera": {
|
|
56
82
|
"suiteVersion": "3.0.0",
|
|
57
|
-
"gitRef": "
|
|
83
|
+
"gitRef": "296cb7e29c2521b95985f933b08f1a5d7724b4f0"
|
|
58
84
|
}
|
|
59
85
|
}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
# Cursor adapter reference
|
|
2
|
-
|
|
3
|
-
Agentera v1 ships Cursor as two registry identities:
|
|
4
|
-
|
|
5
|
-
| Identity | Host | Support status |
|
|
6
|
-
| -------- | ---- | -------------- |
|
|
7
|
-
| `cursor` | Cursor IDE (Composer / Agent) | supported |
|
|
8
|
-
| `cursor-agent` | Cursor Agent CLI (`cursor-agent`, `agent`) | degraded |
|
|
9
|
-
|
|
10
|
-
Decision 63 owns v1 scope. Cloud agents are unsupported. Bare text `hej` routing
|
|
11
|
-
stays metadata-only like Claude, Copilot, and Codex.
|
|
12
|
-
|
|
13
|
-
## Quick install
|
|
14
|
-
|
|
15
|
-
**Local plugin (no Marketplace listing required)**
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
git clone https://github.com/jgabor/agentera.git ~/.cursor/plugins/local/agentera
|
|
19
|
-
# or: ln -s /path/to/agentera ~/.cursor/plugins/local/agentera
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Restart Cursor or run **Developer: Reload Window**. The plugin root must contain
|
|
23
|
-
`.cursor-plugin/plugin.json`. Agentera is not published to the Cursor Marketplace
|
|
24
|
-
yet; use this manual local path or Cursor's local plugin loading UI instead.
|
|
25
|
-
|
|
26
|
-
The plugin loads skills, managed capability agents, and plugin hooks. When you open
|
|
27
|
-
a project that is not an Agentera install root, `sessionStart` exports
|
|
28
|
-
`AGENTERA_HOME` from the plugin checkout (including a plugin-root fallback when env
|
|
29
|
-
and project walk-up do not resolve a managed root).
|
|
30
|
-
|
|
31
|
-
**Portable skill plus project upgrade**
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
npx skills add jgabor/agentera -g -a cursor --skill agentera -y
|
|
35
|
-
uvx --from git+https://github.com/jgabor/agentera agentera upgrade --project "$PWD" --runtime cursor --yes
|
|
36
|
-
uvx --from git+https://github.com/jgabor/agentera agentera doctor --runtime cursor
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Use the plugin path for a user-global install. Use upgrade when you need
|
|
40
|
-
project-committed `.cursor/hooks.json` and `.cursor/agents/` copies. Both paths can
|
|
41
|
-
be combined.
|
|
42
|
-
|
|
43
|
-
From a clone, replace `uvx … agentera` with `uv run scripts/agentera`. User-facing
|
|
44
|
-
install steps also live in [`README.md`](../../README.md) and
|
|
45
|
-
[`UPGRADE.md`](../../UPGRADE.md).
|
|
46
|
-
|
|
47
|
-
## Repo-native surfaces
|
|
48
|
-
|
|
49
|
-
This repository dogfoods committed Cursor surfaces:
|
|
50
|
-
|
|
51
|
-
- `.cursor/hooks.json` — sessionStart env export, preToolUse hard gate, postToolUse advisory validation
|
|
52
|
-
- `.cursor/agents/agentera.md` — single managed agent descriptor (D73)
|
|
53
|
-
- `.cursor-plugin/plugin.json` — marketplace submission-ready manifest
|
|
54
|
-
|
|
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.
|
|
59
|
-
|
|
60
|
-
## AGENTERA_HOME wiring
|
|
61
|
-
|
|
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
|
|
65
|
-
`{"env": {"AGENTERA_HOME": "<root>"}}` plus optional `additional_context` from
|
|
66
|
-
the shared session digest.
|
|
67
|
-
|
|
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
|
|
70
|
-
subprocesses. Agentera does not write shell rc files by default.
|
|
71
|
-
|
|
72
|
-
## Artifact validation
|
|
73
|
-
|
|
74
|
-
| Surface | Behavior | Claim status |
|
|
75
|
-
| ------- | -------- | ------------ |
|
|
76
|
-
| IDE `preToolUse` (Write/Edit) | Deny invalid reconstructable artifact candidates | Verified after live preToolUse Write smoke (2026-05-24) |
|
|
77
|
-
| IDE `postToolUse` (Write/Edit) | Advisory validation through shared `validate_artifact.py` | Active |
|
|
78
|
-
| CLI | Degraded; depends on workspace hook install and env propagation | Follows IDE smoke evidence only |
|
|
79
|
-
|
|
80
|
-
Live preToolUse Write smoke passed on 2026-05-24 with invalid-block and valid-allow
|
|
81
|
-
cases recorded in `.agentera/smoke-cursor-pretooluse-evidence.txt`. Conditional
|
|
82
|
-
hard-gate claims for reconstructable IDE Write and Edit candidates are verified;
|
|
83
|
-
release tagging and marketplace publication remain blocked pending broader release
|
|
84
|
-
closeout.
|
|
85
|
-
|
|
86
|
-
## Subagent dispatch
|
|
87
|
-
|
|
88
|
-
IDE: managed descriptors under `.cursor/agents/` with `<!-- agentera: managed -->`
|
|
89
|
-
ownership markers. Upgrade refreshes Agentera-owned targets and preserves unknown
|
|
90
|
-
collisions.
|
|
91
|
-
|
|
92
|
-
CLI: host-managed `cursor-agent` print mode; no separate TOML descriptor install.
|
|
93
|
-
Eval coverage targets `cursor-agent` first.
|
|
94
|
-
|
|
95
|
-
## Upgrade and doctor
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
uv run scripts/agentera upgrade --runtime cursor --dry-run
|
|
99
|
-
uv run scripts/agentera doctor --runtime cursor
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Upgrade copies managed hooks, agents, and plugin metadata into target projects
|
|
103
|
-
with the same ownership protections used for OpenCode and Codex.
|
|
104
|
-
|
|
105
|
-
Doctor reports helper access, hook presence, and managed agent alignment.
|
|
106
|
-
|
|
107
|
-
## Eval
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
uv run scripts/eval_skills.py --runtime cursor-agent --skill hej --dry-run
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Print mode uses `cursor-agent -p --output-format json --force`. Harnesses apply
|
|
114
|
-
bounded timeouts because some CLI builds hang after completion.
|
|
115
|
-
|
|
116
|
-
## Unsupported in v1
|
|
117
|
-
|
|
118
|
-
- Cloud agents (no project hook or managed-agent guarantees)
|
|
119
|
-
- Bare `hej` prompt rewrite routing
|
|
120
|
-
- Session compaction injection beyond shared hook helpers
|
|
121
|
-
- Separate cursor-agent hook install distinct from IDE workspace surfaces
|
|
122
|
-
|
|
123
|
-
## Profilera session corpus (Section 22)
|
|
124
|
-
|
|
125
|
-
Profilera mines five canonical record types from host session data. This section
|
|
126
|
-
maps each record type to Cursor IDE local storage on disk.
|
|
127
|
-
|
|
128
|
-
### Probe paths
|
|
129
|
-
|
|
130
|
-
| Path | Purpose |
|
|
131
|
-
| ---- | ------- |
|
|
132
|
-
| `~/.cursor/projects/` | Root directory for workspace-scoped Cursor state |
|
|
133
|
-
| `~/.cursor/projects/<project-slug>/agent-transcripts/<session-id>/*.jsonl` | Agent session transcripts (Composer / Agent) |
|
|
134
|
-
| `~/.cursor/projects/<project-slug>/repo.json` | Workspace metadata (`id` UUID); slug mapping is primary for project scoping |
|
|
135
|
-
| `~/.config/cursor/chats/<md5(project-path)>/<session-id>/store.db` | Cursor Agent CLI chat store (gap-fill when JSONL absent) |
|
|
136
|
-
|
|
137
|
-
Override the projects root with `--cursor-projects-dir`, the CLI chats root with
|
|
138
|
-
`--cursor-chats-dir`, or disable both Cursor runtimes with `--no-cursor` on
|
|
139
|
-
`scripts/extract_corpus.py` and `agentera stats refresh`.
|
|
140
|
-
|
|
141
|
-
Project slug convention: absolute project path segments joined with `-`, lowercased
|
|
142
|
-
(for example `/home/user/git/agentera` → `home-user-git-agentera`). CLI workspace
|
|
143
|
-
hashes use `md5(absolute-project-path)` hex (same string Cursor uses under
|
|
144
|
-
`~/.config/cursor/chats/`). When `--project-root` is supplied, extraction prefers
|
|
145
|
-
matching slugs and workspace hashes over unrelated stores.
|
|
146
|
-
|
|
147
|
-
### Transcript JSONL shape
|
|
148
|
-
|
|
149
|
-
Each line is a JSON object:
|
|
150
|
-
|
|
151
|
-
```json
|
|
152
|
-
{"role": "user", "message": {"content": [{"type": "text", "text": "..."}]}}
|
|
153
|
-
{"role": "assistant", "message": {"content": [{"type": "text", "text": "..."}, {"type": "tool_use", "name": "grep", "input": {"pattern": "..."}}]}}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Roles are `user` or `assistant`. `message.content` is a list of blocks. Text blocks
|
|
157
|
-
use `type: "text"`. Tool blocks use `type: "tool_use"` with `name` and `input`.
|
|
158
|
-
|
|
159
|
-
### Cursor Agent CLI `store.db` shape
|
|
160
|
-
|
|
161
|
-
Runtime id `cursor-agent` reads SQLite stores at
|
|
162
|
-
`~/.config/cursor/chats/<workspace-hash>/<session-id>/store.db`. Each store has:
|
|
163
|
-
|
|
164
|
-
| Table | Purpose |
|
|
165
|
-
| ----- | ------- |
|
|
166
|
-
| `blobs` | JSON message payloads keyed by content hash (`role`, `content`, optional tool blocks) |
|
|
167
|
-
| `meta` | Session metadata (`agentId`, model, mode) |
|
|
168
|
-
|
|
169
|
-
JSON blobs use `role` values such as `user`, `assistant`, and `tool`. User content is
|
|
170
|
-
often a plain string; assistant content is a list that may include `text` and
|
|
171
|
-
`tool-call` items (`toolName`, `args`). Sessions that already have IDE JSONL under
|
|
172
|
-
`agent-transcripts/<same-session-id>/` are skipped (gap-fill only).
|
|
173
|
-
|
|
174
|
-
### Portable record families
|
|
175
|
-
|
|
176
|
-
| Family | Cursor source | Status |
|
|
177
|
-
| ------ | ------------- | ------ |
|
|
178
|
-
| Decision history | `history_prompt` from decision-rich user text blocks | Yes (local JSONL) |
|
|
179
|
-
| Conversation exchanges | `conversation_turn` from user/assistant lines | Yes (local JSONL) |
|
|
180
|
-
| Tool usage | `tool_call` from `tool_use` / `tool-call` blocks | Yes (bounded args) |
|
|
181
|
-
| Instruction documents | Project `AGENTS.md` via shared `--project-root` scan | Yes (filesystem) |
|
|
182
|
-
| Project config signals | Project manifests via shared `--project-root` scan | Yes (filesystem) |
|
|
183
|
-
|
|
184
|
-
### Degradation and privacy
|
|
185
|
-
|
|
186
|
-
Extraction is read-only and local-only. Runtime status uses the shared
|
|
187
|
-
`runtime_statuses` vocabulary (`ok`, `missing`, `sparse`, `degraded`, `skipped`).
|
|
188
|
-
Diagnostics report counts and bounded reasons only; raw transcript text must not
|
|
189
|
-
appear in errors, smoke output, or test assertions.
|
|
190
|
-
|
|
191
|
-
| Condition | Status | Reason |
|
|
192
|
-
| --------- | ------ | ------ |
|
|
193
|
-
| Store path disabled (`--no-cursor`) | `skipped` | `disabled` |
|
|
194
|
-
| `~/.cursor/projects` or `~/.config/cursor/chats` absent | `missing` | `store_absent` |
|
|
195
|
-
| No `*.jsonl` under `agent-transcripts` / no gap-fill `store.db` | `sparse` | `no_candidate_files` / `no_matching_records` |
|
|
196
|
-
| Permission denied | `degraded` | `store_locked` |
|
|
197
|
-
| Invalid JSONL lines | `degraded` | `schema_divergent` |
|
|
198
|
-
| Candidates present but no normalized records | `sparse` | `no_matching_records` |
|
|
199
|
-
|
|
200
|
-
### Gaps
|
|
201
|
-
|
|
202
|
-
- Numeric or opaque project directory names (no slug) skip filesystem project-path
|
|
203
|
-
inference; `--project-root` mapping still scopes extraction when the slug matches.
|
|
204
|
-
- Cloud agent sessions do not write local `agent-transcripts` in v1.
|
|
205
|
-
- `cursor-agent` `store.db` sessions that already have IDE JSONL transcripts are skipped
|
|
206
|
-
to avoid duplicate corpus records; gap-fill covers chat-only CLI sessions.
|
|
207
|
-
- Binary or non-JSON blobs in `store.db` degrade with bounded diagnostics and do not
|
|
208
|
-
leak transcript text.
|
|
209
|
-
|
|
210
|
-
## Source of truth
|
|
211
|
-
|
|
212
|
-
RuntimeAdapter records live in
|
|
213
|
-
`references/adapters/runtime-adapter-registry.yaml`. Parity comparisons belong in
|
|
214
|
-
`references/adapters/runtime-feature-parity.md`.
|