agentera 3.0.0-dev.32 → 3.0.0-dev.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/CHANGELOG.md +75 -5
- package/bundle/references/adapters/package-publication.json +43 -0
- package/bundle/references/adapters/package-surface-characterization.md +12 -0
- package/bundle/references/analysis/evidence-tier-authority.yaml +23 -21
- package/bundle/references/analysis/verification-policy.yaml +1 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +11 -2
- package/bundle/references/artifacts/glossary-entry-contract.yaml +1241 -0
- package/bundle/references/artifacts/state-storage-authority.yaml +149 -80
- package/bundle/references/cli/agent-ready-state-contract.yaml +84 -2
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +12 -1
- package/bundle/references/cli/prime-consumer-compatibility.yaml +7 -1
- package/bundle/skills/agentera/SKILL.md +26 -26
- package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +26 -8
- package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +21 -4
- package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +5 -4
- package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +67 -3
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +3 -2
- package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +64 -0
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +4 -1
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +30 -0
- package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +5 -2
- package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +3 -2
- package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +30 -0
- package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +19 -4
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +92 -0
- package/dist/analytics/extractCorpus/evidenceTiers.js +46 -3
- package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
- package/dist/analytics/extractCorpus/tierReader.js +1 -1
- package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
- package/dist/analytics/glossaryAdviceResolution.js +167 -0
- package/dist/analytics/glossaryAdviceResolution.js.map +1 -0
- package/dist/analytics/glossaryInputAcquisition.js +320 -0
- package/dist/analytics/glossaryInputAcquisition.js.map +1 -0
- package/dist/analytics/personalGlossaryAdmission.js +134 -0
- package/dist/analytics/personalGlossaryAdmission.js.map +1 -0
- package/dist/analytics/personalGlossaryProfile.js +219 -0
- package/dist/analytics/personalGlossaryProfile.js.map +1 -0
- package/dist/audit/terminologyDrift.js +282 -0
- package/dist/audit/terminologyDrift.js.map +1 -0
- package/dist/capabilities/audit/instructions.js +2 -1
- package/dist/capabilities/audit/instructions.js.map +1 -1
- package/dist/capabilities/build/instructions.js +41 -2
- package/dist/capabilities/build/instructions.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js +14 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/index.js +1 -1
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js +2 -2
- package/dist/capabilities/plan/instructions.js +19 -2
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js +67 -1
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/cli/capabilityContext/bespoke.js +4 -3
- package/dist/cli/capabilityContext/bespoke.js.map +1 -1
- package/dist/cli/capabilityContext/build.js +77 -24
- package/dist/cli/capabilityContext/build.js.map +1 -1
- package/dist/cli/capabilityContext/closeout.js +2 -2
- package/dist/cli/capabilityContext/closeout.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +2 -6
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/capabilityContext/planState.js +59 -78
- package/dist/cli/capabilityContext/planState.js.map +1 -1
- package/dist/cli/capabilityContext/projectVerification.js +410 -0
- package/dist/cli/capabilityContext/projectVerification.js.map +1 -0
- package/dist/cli/capabilityContext/startup.js +21 -4
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/commands/glossaryAdvice.js +139 -0
- package/dist/cli/commands/glossaryAdvice.js.map +1 -0
- package/dist/cli/commands/personalGlossary.js +177 -0
- package/dist/cli/commands/personalGlossary.js.map +1 -0
- package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
- package/dist/cli/commands/prime/buildExecutionRequest.js.map +1 -0
- package/dist/cli/commands/prime/collectEntityOrientation.js +18 -2
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +7 -1
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +12 -2
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime.js +37 -2
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/profileGrounding.js +77 -0
- package/dist/cli/commands/profileGrounding.js.map +1 -0
- package/dist/cli/commands/query.js +14 -4
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/schema.js +10 -0
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/write.js +4 -1
- package/dist/cli/commands/state/write.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js +45 -0
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/dispatch/prime.js +22 -1
- package/dist/cli/dispatch/prime.js.map +1 -1
- package/dist/cli/dispatch/shared.js +1 -1
- package/dist/cli/dispatch/shared.js.map +1 -1
- package/dist/cli/help.js +23 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/migrationRequired.js +2 -0
- package/dist/cli/migrationRequired.js.map +1 -1
- package/dist/cli/orientation/attention.js +3 -1
- package/dist/cli/orientation/attention.js.map +1 -1
- package/dist/cli/orientation.js +2 -2
- package/dist/cli/orientation.js.map +1 -1
- package/dist/registries/artifactProtocolIds.js +2 -0
- package/dist/registries/artifactProtocolIds.js.map +1 -1
- package/dist/registries/artifactRegistry.js +2 -0
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/evidenceTierContract.js +26 -16
- package/dist/registries/evidenceTierContract.js.map +1 -1
- package/dist/registries/glossaryAdviceContract.js +79 -0
- package/dist/registries/glossaryAdviceContract.js.map +1 -0
- package/dist/registries/glossaryCaveatContract.js +68 -0
- package/dist/registries/glossaryCaveatContract.js.map +1 -0
- package/dist/registries/glossaryConsumerContractValidation.js +792 -0
- package/dist/registries/glossaryConsumerContractValidation.js.map +1 -0
- package/dist/registries/glossaryEntryContract.js +747 -0
- package/dist/registries/glossaryEntryContract.js.map +1 -0
- package/dist/registries/glossaryTermIdentity.js +18 -0
- package/dist/registries/glossaryTermIdentity.js.map +1 -0
- package/dist/registries/glossaryTermOccurrence.js +21 -0
- package/dist/registries/glossaryTermOccurrence.js.map +1 -0
- package/dist/state/changelog.js +222 -0
- package/dist/state/changelog.js.map +1 -0
- package/dist/state/decisionEntities.js +18 -11
- package/dist/state/decisionEntities.js.map +1 -1
- package/dist/state/decisionMigrationProvenance.js +84 -1
- package/dist/state/decisionMigrationProvenance.js.map +1 -1
- package/dist/state/decisionOverlay.js +9 -32
- package/dist/state/decisionOverlay.js.map +1 -1
- package/dist/state/decisionRevision.js +69 -444
- package/dist/state/decisionRevision.js.map +1 -1
- package/dist/state/decisionRevisionMigration.js +90 -0
- package/dist/state/decisionRevisionMigration.js.map +1 -0
- package/dist/state/directRetrieval.js +3 -52
- package/dist/state/directRetrieval.js.map +1 -1
- package/dist/state/entityCutover.js +6 -6
- package/dist/state/entityCutover.js.map +1 -1
- package/dist/state/entityGlossaryAuthority.js +14 -0
- package/dist/state/entityGlossaryAuthority.js.map +1 -0
- package/dist/state/entityMigrationIdentity.js +6 -0
- package/dist/state/entityMigrationIdentity.js.map +1 -0
- package/dist/state/entityMigrationPreview.js +14 -23
- package/dist/state/entityMigrationPreview.js.map +1 -1
- package/dist/state/entityPublicationContext.js +374 -71
- package/dist/state/entityPublicationContext.js.map +1 -1
- package/dist/state/entityStorage.js +45 -29
- package/dist/state/entityStorage.js.map +1 -1
- package/dist/state/healthEntities.js +2 -4
- package/dist/state/healthEntities.js.map +1 -1
- package/dist/state/listRetrieval.js +7 -38
- package/dist/state/listRetrieval.js.map +1 -1
- package/dist/state/migrationSourceBinding.js +1 -1
- package/dist/state/migrationSourceBinding.js.map +1 -1
- package/dist/state/objectiveExperimentEntities.js +9 -9
- package/dist/state/objectiveExperimentEntities.js.map +1 -1
- package/dist/state/planEntities.js +57 -16
- package/dist/state/planEntities.js.map +1 -1
- package/dist/state/progressEntities.js +177 -39
- package/dist/state/progressEntities.js.map +1 -1
- package/dist/state/progressGlossaryCaveat.js +169 -0
- package/dist/state/progressGlossaryCaveat.js.map +1 -0
- package/dist/state/progressPublicationOrder.js +20 -0
- package/dist/state/progressPublicationOrder.js.map +1 -0
- package/dist/state/safeProjectFile.js +4 -1
- package/dist/state/safeProjectFile.js.map +1 -1
- package/dist/state/startupProjection.js +2 -70
- package/dist/state/startupProjection.js.map +1 -1
- package/dist/state/stateStorageAuthority.js +48 -0
- package/dist/state/stateStorageAuthority.js.map +1 -0
- package/dist/state/summarySourceRowAuthority.js +1 -1
- package/dist/state/summarySourceRowAuthority.js.map +1 -1
- package/dist/state/todoDocsEntities.js +8 -9
- package/dist/state/todoDocsEntities.js.map +1 -1
- package/dist/state/write/explain.js +101 -92
- package/dist/state/write/explain.js.map +1 -1
- package/dist/state/write/glossaryPublication.js +264 -0
- package/dist/state/write/glossaryPublication.js.map +1 -0
- package/dist/state/write/index.js +1 -0
- package/dist/state/write/index.js.map +1 -1
- package/dist/state/write/operations.js +25 -27
- package/dist/state/write/operations.js.map +1 -1
- package/dist/state/write/planEvaluation.js +6 -2
- package/dist/state/write/planEvaluation.js.map +1 -1
- package/dist/state/write/transaction.js +7 -4
- package/dist/state/write/transaction.js.map +1 -1
- package/dist/upgrade/upgradeOrchestrator.js +15 -10
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/validate/crossCapability.js +3 -0
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/v1LegacyCruft.js +141 -0
- package/dist/validate/v1LegacyCruft.js.map +1 -0
- package/dist/validate/vocabularyAuthority.js +2 -0
- package/dist/validate/vocabularyAuthority.js.map +1 -1
- package/package.json +4 -3
- package/dist/state/decisionRevisionPublication.js +0 -532
- package/dist/state/decisionRevisionPublication.js.map +0 -1
|
@@ -7,10 +7,23 @@ export default instructions
|
|
|
7
7
|
|
|
8
8
|
Decisions use entity authority: every decision, revision, and satisfaction record has \`id\` and \`artifact\` and lives in one writer-owned entity file. Start from \`agentera prime --context discuss --format json\`; use bounded \`agentera state decisions list\` and exact \`get --id ID\` reads. Discover writes through \`agentera state decisions explain --format json\` and mutate only through the typed entity writer. Never edit entity paths directly. Vision, objective, TODO, docs policy, and profile retain their own protected or singleton boundaries.
|
|
9
9
|
|
|
10
|
-
Append with \`agentera state decisions append\`; update satisfaction with \`agentera state decisions update --id ID\` after checking the live explain contract.
|
|
10
|
+
Append with \`agentera state decisions append\`; update satisfaction with \`agentera state decisions update --id ID\` after checking the live explain contract. Read profile grounding only from the \`content\` returned by \`agentera report profile-grounding --format json\`; never direct-read \`deliberation_context.profile.path\`. The grounding command excludes the owned personal Glossary section and fails closed when its boundaries are malformed.
|
|
11
|
+
|
|
12
|
+
### Governed terminology advice
|
|
13
|
+
|
|
14
|
+
At initial meaning-sensitive user input, identify the requested term from that current input and invoke the exact structured, headless \`agentera report glossary-advice --input <file|-> --format json\` interface. Invoke it again only when a later user-authored change to a deliberation premise, or a clarification answer for the affected term, can alter the meaning in use. Do not invoke it for unchanged replay, scratchpad or status rendering, unrelated turns, tool output, background rereads, or Done-only control. Inspect only the current user-authored meaning-sensitive input; never add an unbounded or persistent transcript scan.
|
|
15
|
+
|
|
16
|
+
Use only \`advice.applicable_meaning\` with \`advice.applicable_owner\` for the current deliberation. An exact project meaning governs, while a personal meaning applies only after the CLI proves a project gap. Do not quote unrelated glossary content or silently infer that differently named terms are equivalent.
|
|
17
|
+
|
|
18
|
+
When \`review\` requires acknowledgment, ask one focused clarification first—before meaning-sensitive reasoning or decision framing—with a Done option and no second question. A clarification answer may identify the one host-reviewed \`inferred_equivalence\` relation allowed by the existing request contract; then rerun advice for that affected term before relying on either meaning. This clarification is not a confirmed Discuss decision, glossary approval, or publication consent.
|
|
19
|
+
|
|
20
|
+
For a divergent exact collision, apply the project meaning and add the bounded divergence as a concise scratchpad tension or Crux. Do not ask the user to choose project versus personal authority; clarify only downstream intent when genuinely needed. For unavailable, invalid, or no-applicable advice, continue without glossary grounding unless the term is necessary and ambiguous, then ask an ordinary focused clarification without fabricating glossary facts.
|
|
21
|
+
|
|
22
|
+
Advice and its clarification are transient and mutation-free. They never write glossary, approval, progress caveat, plan conflict, or decision conflict state; never call \`agentera state glossary publish\`; and never alter ordinary confirmed-decision semantics. Discuss pauses when review is required and publishes no consumer caveat.
|
|
11
23
|
|
|
12
24
|
## The deliberation loop`)
|
|
13
25
|
.replaceAll("--number N", "--id ID")
|
|
14
26
|
.replaceAll("--task N", "--id ID")
|
|
27
|
+
.replace("profile path for high-confidence entries", "sanitized profile grounding for high-confidence entries")
|
|
15
28
|
.replace("new numbered decision entry", "new decision entity");
|
|
16
29
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/discuss/instructions.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,6FAA6F;AAC7F,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,qyYAAqyY,CAAC,CAAC;AACh2Y,eAAe,YAAY;KACxB,OAAO,CAAC,oDAAoD,EAAE
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/discuss/instructions.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,6FAA6F;AAC7F,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,qyYAAqyY,CAAC,CAAC;AACh2Y,eAAe,YAAY;KACxB,OAAO,CAAC,oDAAoD,EAAE;;;;;;;;;;;;;;;;;;yBAkBxC,CAAC;KACvB,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC;KACnC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC;KACjC,OAAO,CAAC,0CAA0C,EAAE,yDAAyD,CAAC;KAC9G,OAAO,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAAC"}
|
|
@@ -13,7 +13,7 @@ import buildInstructions from "./build/instructions.js";
|
|
|
13
13
|
import optimizeInstructions from "./optimize/instructions.js";
|
|
14
14
|
import auditInstructions from "./audit/instructions.js";
|
|
15
15
|
import documentInstructions from "./document/instructions.js";
|
|
16
|
-
import
|
|
16
|
+
import profileInstructions from "./profile/instructions.js";
|
|
17
17
|
import { instructions as designInstructions } from "./design/instructions.js";
|
|
18
18
|
import orchestrateInstructions from "./orchestrate/instructions.js";
|
|
19
19
|
export const CAPABILITY_INSTRUCTIONS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,qDAAqD;AACrD,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,qDAAqD;AACrD,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,uBAAuB,MAAM,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,MAAM,EAAE,yBAAyB,CAAC,kBAAkB,CAAC;IACrD,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,oBAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,kBAAkB;IAC1B,WAAW,EAAE,uBAAuB;CACrC,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,UAAkB;IAChE,OAAO,iCAAiC,UAAU,kBAAkB,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,4BAA4B,UAAU,gBAAgB,CAAC;AAChE,CAAC"}
|
|
@@ -6,7 +6,7 @@ export default `${instructions
|
|
|
6
6
|
|
|
7
7
|
Plans, tasks, progress cycles, health audits, and decisions use entity authority: every record has \`id\` and \`artifact\`, lives in one writer-owned entity file, and is read through bounded list or exact \`get --id ID\` commands. Trust \`agentera prime --context orchestrate --format json\` for startup and use declared fallbacks. Discover plan mutations through \`agentera state plan explain --verb <verb> --format json\`; task writes always use the task's bare ID. Never edit entity paths directly.
|
|
8
8
|
|
|
9
|
-
Advance tasks with \`agentera state plan set-status --id ID\` and persist evaluator outcomes with \`agentera state plan record-evaluation --id ID\`. A superseded task is terminal, satisfies dependencies, and stays out of ready and blocked queues; record it only through \`agentera state plan supersede --id ID --by COMPLETED_ID --reason "..." --format json\`.
|
|
9
|
+
Advance tasks with \`agentera state plan set-status --id ID\` and persist evaluator outcomes with \`agentera state plan record-evaluation --id ID\`. A superseded task is terminal, satisfies dependencies, and stays out of ready and blocked queues; record it only through \`agentera state plan supersede --id ID --by COMPLETED_ID --reason "..." --format json\`. Every replacement must be complete with latest persisted PASS before supersession.
|
|
10
10
|
|
|
11
11
|
## The orchestration loop`)
|
|
12
12
|
.replaceAll("--number N", "--id ID")
|
|
@@ -36,6 +36,6 @@ Advance tasks with \`agentera state plan set-status --id ID\` and persist evalua
|
|
|
36
36
|
|
|
37
37
|
## Evaluation Retry State
|
|
38
38
|
|
|
39
|
-
After every evaluator verdict, persist it with \`agentera state plan record-evaluation --id ID --attempt-id ATTEMPT --verdict {pass,fail} --provenance SOURCE --format json
|
|
39
|
+
After every evaluator verdict, persist it with \`agentera state plan record-evaluation --id ID --attempt-id ATTEMPT --verdict {pass,fail} --provenance SOURCE --format json\` before marking the task complete. A failed verdict also requires \`--failure-evidence\`. Reuse the same stable attempt ID after an interrupted retry; the writer owns attempt counts, retains the latest failure evidence and provenance, and blocks the task after its second failed evaluation. The writer's one terminal exception is recovery for persisted out-of-order replacement state: while the plan remains open, an unevaluated complete task named in a same-plan superseded predecessor's \`superseded_by\` may receive its first PASS only. This is not the normal workflow. Do not reconstruct retry state from conversation memory or modify decision satisfaction.
|
|
40
40
|
`;
|
|
41
41
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -7,9 +7,26 @@ export default instructions
|
|
|
7
7
|
|
|
8
8
|
Plans and tasks use entity authority: each plan and task has \`id\` and \`artifact\` and lives in one writer-owned entity file; task relationships carry the bare plan ID. Read plans and tasks through bounded list or exact \`get --id ID\` commands. Discover creation and mutation contracts with \`agentera state plan explain --verb <verb> --format json\`, and use bare task IDs for task writes. Never edit entity paths directly. Vision, docs policy, design, changelog, and profile retain their declared singleton boundaries.
|
|
9
9
|
|
|
10
|
-
Create with \`agentera state plan create --input PATH --format json\`, update tasks through the discovered bare-ID commands, and archive completed plan entities with \`agentera state plan archive --format json\`.
|
|
10
|
+
Create with \`agentera state plan create --input PATH --format json\`, update tasks through the discovered bare-ID commands, and archive completed plan entities with \`agentera state plan archive --format json\`. Read profile grounding only from the \`content\` returned by \`agentera report profile-grounding --format json\`; never direct-read \`planning_context.profile.path\`. The grounding command excludes the owned personal Glossary section and fails closed when its boundaries are malformed.
|
|
11
|
+
|
|
12
|
+
### Governed terminology advice
|
|
13
|
+
|
|
14
|
+
At initial meaning-sensitive planning input, identify the requested term from that current input and invoke the exact structured, headless \`agentera report glossary-advice --input <file|-> --format json\` interface. Invoke it again only for a later user-authored change to scope, requirements, constraints, task or overall acceptance, or clarification that can alter the affected meaning. Do not invoke it for unchanged replay, artifact rendering, tool output, evaluator text, unrelated turns, background rereads, or control-only continuation. Use only the current bounded event input; never scan a persistent or unbounded transcript.
|
|
15
|
+
|
|
16
|
+
Use only \`advice.applicable_meaning\` with \`advice.applicable_owner\` for affected planning. An exact project meaning governs; a personal fallback applies only when the CLI proves a valid project gap. Definitions from personal/profile glossary data are transient inputs: derive the needed behavioral requirement but never copy or quote the definition into plan scope, requirements, constraints, tasks, task or overall acceptance, diagnostics, or handoff. A term already supplied by the user may remain. Do not expose unrelated glossary data or silently infer that differently named terms are equivalent.
|
|
17
|
+
|
|
18
|
+
Determine mode from explicit signals in this order. Explicit delegated or orchestrated no-pause execution is autonomous. Otherwise, direct user invocation with an available clarification turn is interactive. Unknown, ambiguous, or conflicting mode evidence fails safe to interactive clarification and \`waiting\`. Never infer autonomy from silence, timeout, or elapsed time.
|
|
19
|
+
|
|
20
|
+
In interactive mode, when \`review\` requires acknowledgment and ambiguity could alter downstream requirements, first emit one focused clarification, then wait for the user answer, refresh advice for only that affected term, and only then finalize affected scope, requirements, constraints, tasks, or acceptance. Ground any resolved requirement only in the user-authored clarification, never hidden candidate data. Preserve Plan's ordinary clarification and approval gates: consumer clarification is not decision confirmation, plan approval, glossary approval, or publication consent.
|
|
21
|
+
|
|
22
|
+
In autonomous mode, if required review remains unresolved, first abstain from the disputed meaning, then leave affected scope, requirements, tasks, and acceptance explicitly unresolved or deferred, and then emit at most one transient handoff intent. The intent contains exactly \`event: current\`, \`reason\`, and \`ownership_state\`; it is emitted only—not delivered, stored, persisted, or published. It never contains \`caveat_id\`, \`capability\`, or \`transition_id\`, and it is not a complete durable envelope. Use only these authority-defined reason/state pairs: unresolved primary equivalence is \`inferred_equivalence\`/\`review_required\`; an unresolved inferred relation beside applicable exact project authority is \`inferred_equivalence\`/\`project_governs_exact\`; unavailable project authority is \`authority_unavailable\`/\`authority_unavailable\`; and unavailable personal input after a proven project gap is \`personal_input_unavailable\`/\`authority_unavailable\`. Build alone may later submit those three caller-owned fields to \`agentera state progress append\`; its writer creates \`caveat_id\`, \`capability: build\`, and \`transition_id: null\` to complete the authoritative current envelope.
|
|
23
|
+
|
|
24
|
+
For a divergent exact collision, apply the project meaning and, only when material, represent the bounded tension without exposing the personal definition. Exact project authority with unavailable personal input remains usable: keep the \`personal_input_unavailable\`/\`project_governs_exact\` advisory transient and do not emit a handoff intent. For other unavailable, invalid, or no-applicable advice, abstain from glossary grounding; ask ordinary focused clarification only in interactive mode when the meaning is critical. Autonomous meaning-critical work leaves the affected requirement unresolved rather than guessing and emits an intent only for an authority-declared unresolved pair.
|
|
25
|
+
|
|
26
|
+
Advice, clarification, tension, and handoff intent are transient and never write glossary, approval, decision-conflict, plan-conflict, or progress caveat state; never call \`agentera state glossary publish\`; and never alter ordinary Plan approval semantics. Durable Plan artifacts and user-visible intent reveal no profile-derived or personal glossary definition, anchor, profile or project path, raw section, unrelated entry, approval, or provenance.
|
|
11
27
|
|
|
12
28
|
## Workflow phases`)
|
|
13
29
|
.replaceAll("--number N", "--id ID")
|
|
14
|
-
.replaceAll("--task N", "--id ID")
|
|
30
|
+
.replaceAll("--task N", "--id ID")
|
|
31
|
+
.replace("served via `planning_context.profile.path` — read directly when `status: loaded`; if missing or stale, proceed without persona grounding", "served through `agentera report profile-grounding --format json` — use only returned `content` when `status: ok`; if unavailable or invalid, proceed without persona grounding and preserve its recovery");
|
|
15
32
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/plan/instructions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,qFAAqF;AACrF,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/plan/instructions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,qFAAqF;AACrF,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAC5C,MAAM,CAAC,GAAG,CAAA,szgBAAszgB,CACj0gB,CAAC;AACF,eAAe,YAAY;KACxB,OAAO,CACN,8CAA8C,EAC9C;;;;;;;;;;;;;;;;;;;;;;mBAsBe,CAChB;KACA,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC;KACnC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC;KACjC,OAAO,CACN,0IAA0I,EAC1I,0MAA0M,CAC3M,CAAC"}
|
|
@@ -1,5 +1,71 @@
|
|
|
1
|
+
import { personalGlossaryOutputContract } from "../../registries/glossaryEntryContract.js";
|
|
1
2
|
// Capability instructions for profile
|
|
2
3
|
// Served via `agentera prime --context profile --format json`. RFC 2119 modal vocab.
|
|
3
4
|
export const instructions = JSON.parse(String.raw `"# PROFILE\n\n**Persona Reconstruction: Observable Footprint Indexing Logic. Extract, Reconcile, Formalize**\n\nGlyph: ♾ (protocol ref: SG9).\n\nMine the user's session history and produce a structured decision profile for predicting \"What would this person decide?\" Each entry carries numeric confidence, permanence classification, and temporal metadata enabling dormancy decay. The profile is consumed by all capabilities via \u0060status.profile\u0060.\n\n---\n\n## State artifacts\n\nProfile reads bounded signal tiers and decisions; writes PROFILE.md. Artifact path resolution is owned by SKILL.md.\n\n| Artifact | Role | Path |\n|----------|------|------|\n| \u0060profile\u0060 | produces_and_consumes | \u0060profile_context.profile.path\u0060 |\n| \u0060decisions\u0060 | consumes | \u0060profile_context.decisions.fallback_command\u0060 |\n\n**Startup contract**: trust \u0060profile_context\u0060 and \u0060raw_artifact_read_policy\u0060 from \u0060agentera prime --context profile --format json\u0060. Use the included state families first; run listed \u0060fallback_commands\u0060 before any raw artifact read. Do not manually locate schemas or defensively raw-read state the CLI already serves. Visual-token families (VT/SI/EX/SG/PH) by \u0060skills/agentera/protocol.yaml\u0060.\n\n### Profile format\n\nOutput constraint: ≤30 words per signal, ≤15 words per evidence line.\n\n\u0060\u0060\u0060markdown\n# Decision Profile: [User Name]\n\n<!-- Generated: {date} | Data: {date range from earliest to latest timestamp} | Validated: — -->\n<!-- Sources: {N} memory files, {N} history prompts, {N} conversation exchanges, {N} configs -->\n<!-- Decay parameters: stable λ=0.001, durable λ=0.005, situational λ=0.015 -->\n<!-- Formula: effective_conf = conf × e^(-λ × days_since_confirmed), floor 20 -->\n<!-- Regenerate with /agentera profile -->\n\n## How to Use This Profile\n\nThis profile captures decision-making patterns extracted from {N} months of sessions across {N} projects. Each entry carries inline metadata:\n\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- **conf** (0-100): Evidence-based confidence. 90+ shipped consistently (CS1), 70-89\n established (CS2), 50-69 emerging (CS3), 30-49 single signal (CS4), 0-29 speculative (CS5).\n Line weight tokens: ━ (VT9) high (90-100), ─ (VT10) medium (50-89), ┄ (VT11) low (0-49).\n- **perm**: How stable the decision domain is. stable (decade), durable (year),\n situational (month).\n- **dates**: When the decision was first observed, refreshed,\n and last challenged.\n- **Generated / Validated**: Full rebuild date vs last validate-mode\n maintenance date in the header comment. \u0060agentera prime\u0060 treats the\n profile as fresh through the newer of the two.\n\nWhen consuming this profile, compute effective confidence using the decay formula.\nStale situational entries carry less weight than fresh stable ones.\n\n**When the profile is silent**: If a situation isn't covered, look for the closest trade-off\nheuristic or meta-decision pattern. When truly uncertain, ask.\n\n## Decision-Making Philosophy\n\n[2-3 paragraphs describing the meta-patterns: how this person approaches decisions, what\nframeworks they use, their risk posture, when they decide quickly vs deliberate, what\ninformation they seek before deciding]\n\n## [Category Name]\n\n### [Decision Name]\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- ▸ **Rule**: [Imperative statement an agent can follow directly]\n- ▸ **When**: [Specific conditions or triggers for this rule]\n- ▸ **Why**: [The reasoning, the value or concern that drives this]\n- ▸ **Exceptions**: [Known cases where this was overridden, or \"None observed\"]\n\n[Repeat for each decision in the category. Order by confidence (highest first).]\n\n[Repeat for all 12 categories. Skip categories with no signal.]\n\n## Tensions\n\nEach entry records a contradiction or divergence found during profile generation or challenged during validation. Default status is **unresolved**. Resist the urge to wrap tensions in resolution narratives. Some tensions are real and persistent.\n\n### YYYY-MM-DD: [Short description]\n\n**Decision affected**: [which decision was contradicted]\n**What happened**: [what was observed or said that didn't fit]\n**Status**: unresolved\n\u0060\u0060\u0060\n\n**Writing guidelines**:\n\n- Write rules as imperatives (\"Use X\" not \"[Name] prefers X\")\n- Be specific (\"when building Go CLIs\" not \"when building things\")\n- Always include the *why* because agents need reasoning for edge cases\n- Don't duplicate AGENTS.md. This covers decision *patterns*, not project instructions\n- Omit categories with <2 decisions (insufficient signal)\n- Every entry MUST have inline metadata after the ### heading\n\n---\n\n## Workflow phases\n\nMode-split shape. Two modes: **Full** (regenerate from scratch) and **Validate** (quick incremental check).\n\nCheck if \u0060profile_context.profile.path\u0060 resolves to an existing file. If it does NOT exist, proceed directly to Full mode. If it DOES exist, present the mode choice:\n\n> **Full**: Regenerate from scratch using all session data. Replaces the existing profile including any accumulated tensions. Best when the profile feels significantly outdated or you want a clean baseline.\n>\n> **Validate**: Quick check of your existing profile (~2 minutes). Reviews the entries most worth validating: confirm, challenge, or skip each one. Best for regular maintenance between full regenerations.\n\n### Full Mode\n\nStep markers: display \u0060── step N/4: verb\u0060 before each step.\nSteps: extract, read, synthesize, generate.\n\n#### Step 1: Coverage and extraction\n\nRun the active-runtime Coverage Audit as the first user-visible output of every Full-mode run, then publish bounded tiers:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history\n\u0060\u0060\u0060\n\nThe refresh runs the coverage audit first and exits flagged (EX2) if available runtimes are skipped without \u0060--accept-coverage-gap\u0060. On success it publishes bounded evidence tiers (full-evidence shards + a bounded signal tier with evidence anchors) as the canonical bounded output. The monolithic corpus is no longer written; tiers are the synthesis input.\n\nThe active runtime IDs are exactly \u0060opencode\u0060, \u0060codex\u0060, \u0060cursor\u0060, and \u0060copilot\u0060. Cursor Agent CLI storage is a Cursor source product, never a separate runtime identity. Apply \u0060--no-codex\u0060, \u0060--no-opencode\u0060, \u0060--no-copilot\u0060, or \u0060--no-cursor\u0060 only when the user selects a partial active-runtime corpus; available skipped sources require \u0060--accept-coverage-gap\u0060.\n\nClaude Code is not a supported runtime. Its transcript parser is available only as an explicit historical importer:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history --import-source claude\n\u0060\u0060\u0060\n\nBefore that opt-in, warn that transcripts can contain secrets, file contents, and command output. The import is local and read-only. Every imported record is labeled \u0060source_class=historical_import\u0060, \u0060source_product=claude-code\u0060, and \u0060active_runtime=false\u0060; default active analytics exclude it. Never describe imported records as Claude support, health, installation, or active-runtime coverage. Use \u0060agentera report --sources all\u0060 only when the user explicitly asks for historical/all-source analysis, and keep provenance visible.\n\nThe extractor writes instruction documents, history prompts, conversation turns, tool calls, and project config signals as bounded signal records. Read \u0060profile_context.profile.bounded_signals\u0060 to confirm the tier state, signal count, and sufficiency assessment without loading full evidence. If an active source fails, proceed with bounded degradation evidence; if historical import fails, report only the importer failure and do not turn it into runtime health.\n#### Step 2: Read bounded signals\n\nRead the bounded signal tier published in Step 1. The \u0060profile_context.profile.bounded_signals\u0060 status provides \u0060tiers_dir\u0060, \u0060signal_path\u0060, \u0060signal_count\u0060, \u0060profile_signal_count\u0060, and the \u0060sufficiency\u0060 assessment. The signal tier carries only the contract-required fields plus \u0060evidence_anchor\u0060 for every record — no transcript text, raw tool arguments, or raw store paths. Group signals by \u0060signal_type\u0060 for synthesis:\n\n1. **instruction**: Memory files, AGENTS.md (highest signal: explicit user instructions)\n2. **decision** and **correction**: Decision-rich and revision signals from session history\n3. **question**: Interrogative signals surfacing uncertainty and information-gathering intent\n4. **configuration**: Recurring config patterns across projects (most objective: what shipped)\n\nEach signal carries \u0060source_kind\u0060, \u0060signal_type\u0060, \u0060timestamp\u0060, \u0060project_id\u0060, \u0060runtime\u0060, \u0060source_product\u0060, and \u0060evidence_anchor\u0060. The \u0060evidence_anchor\u0060 resolves to exactly one retained full-evidence shard — do not re-scan unbounded history to retrieve a full record.\n\n**Sufficiency gate**: Before synthesizing, check \u0060bounded_signals.sufficiency\u0060. If \u0060sufficient\u0060 is false, surface the underrepresented families with their retained and intended counts. Cap confidence for affected categories to the single-signal band (CS4, 30-49) or below — never fabricate high-confidence claims from sparse or missing evidence. Report the limitation in the profile header and emit \u0060♾ profile · flagged\u0060 (EX2).\n\n**Legacy state**: If \u0060bounded_signals.state\u0060 is \u0060legacy\u0060 (tiers not published, monolithic corpus exists) or \u0060missing\u0060, do not load the corpus whole. Run Step 1 refresh to publish bounded tiers first.\n\n#### Step 3: Categorize and synthesize\n\nGroup signals into 12 categories:\n\n1. **Architecture & Design Patterns**: package layout, abstraction boundaries, API design\n2. **Technology & Tooling Selection**: languages, frameworks, libraries, build tools\n3. **Agent & Automation Philosophy**: agent behavior, autonomy, interaction patterns\n4. **Code Quality & Standards**: error handling, testing, validation, naming\n5. **DX & Project Structure**: directory layout, build targets, configuration\n6. **Scoping & Prioritization**: what to build, milestones, complexity budgets\n7. **Communication Style**: writing preferences, documentation voice\n8. **Process & Workflow**: git workflow, commit conventions, release process\n9. **UI/UX Preferences**: visual patterns, interaction design, CLI vs TUI vs web\n10. **Trade-off Heuristics**: simplicity vs flexibility, speed vs correctness\n11. **Anti-patterns & Rejections**: things actively avoided, with reasoning\n12. **Meta-decision Style**: frameworks used, information gathering, decide vs defer\n\nPer category: identify distinct decisions (not just preferences; decisions have conditions and reasoning), look for the *why*, note exceptions where the rule was overridden.\n\n**Assign confidence** (numeric, 0-100, protocol ref: CS1-CS5)\n\nDecision patterns are empirically verifiable via git history and configs:\n\n| Range | Label | Token | Criteria |\n|-------|-------|-------|----------|\n| 90-100 (CS1) | Shipped consistently | ━ (VT9) | Appears in configs/code across 3+ projects, verifiable from artifacts |\n| 70-89 (CS2) | Established | ━ (VT9) | Consistent across sessions, corroborated by behavior |\n| 50-69 (CS3) | Emerging | ─ (VT10) | Observed multiple times but limited context or minor variations |\n| 30-49 (CS4) | Single signal | ┄ (VT11) | One data point or inferred from adjacent patterns |\n| 0-29 (CS5) | Speculative | ┄ (VT11) | No direct evidence, extrapolated from related decisions |\n\n**Bias check**: Confidence is earned through evidence, not assigned by how insightful the decision sounds. A pithy design principle observed once is 30, not 75.\n\n**Assign permanence class**\n\nPermanence captures domain *stability*, independent of confidence. You can be highly confident about something that will change (85, situational) or uncertain about something deep (35, stable).\n\n| Class | Domain | Timescale |\n|-------|--------|-----------|\n| **stable** | Architecture principles, design patterns, meta-decision heuristics | Decade |\n| **durable** | Tooling choices, code standards, process conventions, DX preferences | Year |\n| **situational** | Current project priorities, active initiative choices, recent tech stack picks | Month |\n\nDefault permanence mapping by category:\n\n- Architecture & Design Patterns, Meta-decision Style → stable\n- Technology & Tooling, Code Quality & Standards, Process & Workflow, DX & Project Structure, Communication Style, Trade-off Heuristics, Anti-patterns → durable\n- Scoping & Prioritization, UI/UX Preferences → situational (unless clearly long-standing)\n- Agent & Automation Philosophy → durable (unless project-specific)\n\nOverride the default when the evidence suggests otherwise.\n\n**Set dates**\n\n- **first**: Earliest timestamp from the source data that evidences this decision\n- **refresh date**: Set to today's date (the generation date)\n- **challenged**: Set to \u0060—\u0060 (none yet on a fresh profile)\n\n**Identify tensions**\n\nLook for cross-category patterns and contradictions: stated principle vs shipped code, conflicts between categories, \"Exceptions\" suggesting a weaker rule. Record contradictions in the Tensions section rather than smoothing them into a coherent narrative.\n\n**Evidence anchor resolution**\n\nEvery synthesized claim must carry the \u0060evidence_anchor\u0060 (the \u0060source_id\u0060) of the signal it was derived from. To check a claim's source identity, resolve the anchor to its retained full-evidence shard — the manifest maps \u0060source_id\u0060 to the owning shard, so only that shard is loaded. Never re-scan unbounded history. If an anchor does not resolve (stale tier, corrupt shard), the claim cannot be checked: lower its confidence or omit it.\n\n#### Step 4: Generate the profile and validate\n\nWrite the decision profile to \u0060profile_context.profile.path\u0060 following the Profile format template above.\n\nIf a previous version exists: copy to the \u0060history/\u0060 subdirectory alongside PROFILE.md, generate new version, show change summary (added, updated, removed).\n\n**Prediction validation**\n\nPick 5 decision-rich prompts NOT used to create profile entries. For each: predict what the profile would recommend, check against what happened. Report accuracy (e.g., \"4/5\").\n\nBelow 3/5: identify categories needing more signal, note in profile header, and emit \u0060♾ profile · flagged\u0060 (EX2) — the profile is written but signal quality is insufficient.\n\n---\n\n### Validate Mode\n\nQuick incremental check. Step markers: display \u0060── step N/3: verb\u0060 before each step.\nSteps: select, present, apply.\n\n#### Step V1: Select entries\n\nIdentify which entries are most worth checking by reading PROFILE.md directly and prioritizing high-confidence, stale, or tension-heavy entries. If PROFILE.md is missing, fall back to Full mode.\n\n#### Step V2: Present entries for validation\n\nPresent entries one at a time: decision name, rule text, reason surfaced, stored vs effective confidence. Ask: **Confirm**, **Challenge**, or **Skip**.\n\n#### Step V3: Apply updates and write\n\nFor each response:\n\n- **Confirm**: Bump \u0060conf\u0060 by 5 (cap at 95). Update \u0060confirmed\u0060 to today's date.\n- **Challenge**: Soften \u0060conf\u0060 by 10 (floor at 10). Update \u0060challenged\u0060 to today's date.\n Append a tension entry to the \u0060## Tensions\u0060 section:\n\n \u0060\u0060\u0060\n ### {today}: {decision name} challenged during validation\n **Decision affected**: {decision name}\n **What happened**: Challenged by user during validation\n **Status**: unresolved\n \u0060\u0060\u0060\n\n- **Skip**: No changes to this entry.\n\nUpdate the header comment before writing:\n\n- Set \u0060Validated:\u0060 to today's date.\n- Preserve \u0060Generated:\u0060 unchanged (last full rebuild date).\n- If \u0060Validated:\u0060 already exists, replace its date; otherwise append \u0060| Validated: {today}\u0060.\n\nWrite updated PROFILE.md. Report: \"Reviewed {N} entries: {N} accepted, {N} challenged, {N} skipped.\" Mention challenged entries by name.\n\n---\n\n## Safety rails\n\n<critical>\n- MUST NOT fabricate decision patterns. Every profile entry MUST be grounded in observed evidence from bounded signal tiers, memory files, configs, or conversation data.\n- MUST NOT assign confidence higher than the evidence warrants. A single data point is 30-49 (CS4), not 70+, regardless of how insightful the decision sounds. When bounded_signals.sufficiency is insufficient, cap affected categories to CS4 or below.\n- MUST NOT load the monolithic corpus.json whole. Profile synthesis reads the bounded signal tier; full-evidence records are retrieved one shard at a time via evidence_anchor.\n- MUST NOT smooth over contradictions. When evidence conflicts, record tensions rather than forcing a coherent narrative.\n- MUST NOT modify the user's session history, memory files, or config files. Profile reads these sources; it never writes to them.\n- MUST NOT share profile contents with external services or include them in commits.\n</critical>\n\n---\n\n## Exit signals\n\nReport one of these statuses at workflow completion (protocol refs: EX1-EX4).\n\nFormat: emit \u0060♾ profile · <status>\u0060 on its own line, followed by a one-sentence summary. For \u0060flagged\u0060 (EX2), \u0060stuck\u0060 (EX3), and \u0060waiting\u0060 (EX4), add a ▸ (VT15) bullet below the summary identifying what needs attention. The exit marker uses profile's canonical glyph ♾ (SG9, U+267E).\n\n- **complete** (EX1): PROFILE.md was written (Full mode) or updated (Validate mode). Metadata changes were applied, prediction accuracy was assessed (Full mode), and changes were summarized.\n- **flagged** (EX2): Profile generation or validation completed but with data quality issues: available runtime history was skipped without explicit acceptance, extraction failed for one or more sources, prediction accuracy was below 3/5, or significant tensions were found that could not be resolved from available evidence.\n- **stuck** (EX3): Cannot generate or validate a profile because extraction scripts failed entirely or session data sources are unreadable.\n- **waiting** (EX4): The user chose Validate mode but PROFILE.md lacks valid metadata. A Full mode run needs user approval, or the requested mode is ambiguous.\n\n---\n\n## Cross-capability integration\n\n### Consumption contract\n\nAll capabilities consume the profile via \u0060status.profile\u0060 from their prime context. Confidence thresholds: 65+ for strong constraint, below 45 for suggestion. Effective confidence decays over time using the formula and parameters declared in the Profile format template (§2). High effective confidence entries are treated as strong constraints; low as suggestions. Full rules are read from PROFILE.md when needed for detailed reasoning.\n\n### Consumed by\n\n- **build** — confidence-weighted summary table in Orient step; high confidence as strong constraints\n- **optimize** — calibrates experimentation style and trade-off preferences\n- **research** — informs applicability judgments; high confidence constrains recommendations\n- **discuss** — reads profile at start of every deliberation; high-confidence entries acknowledged upfront\n- **audit** — calibrates quality bar and which findings matter for this user\n- **plan** — calibrates planning depth and constraint priorities in Orient step\n\n### Fed by\n\n- **discuss** — \u0060decisions\u0060 artifact is a high-signal extraction source. Prefer \u0060agentera state decisions list --limit 20 --format json\u0060 and preserve returned \u0060missing_fields\u0060, \u0060compacted\u0060, \u0060caveats\u0060, and \u0060satisfaction.review_needed\u0060 pressure rather than raw-reading missing historical context.\n\n### Getting started\n\nFirst profile generation:\n\n\u0060\u0060\u0060\n/agentera profile\n\u0060\u0060\u0060\n\nFull extraction across all sources. Produces PROFILE.md at \u0060profile_context.profile.path\u0060.\n\nRegular validation:\n\n\u0060\u0060\u0060\n/agentera profile validate\n\u0060\u0060\u0060\n\nQuick confidence refresh without full regeneration. Run weekly or per-session.\n\nUsing the profile in other capabilities: automatic — all capabilities read \u0060status.profile\u0060 from their prime context. No manual steps needed; just ensure PROFILE.md exists."`);
|
|
4
|
-
|
|
5
|
+
const profileGlossaryOutput = personalGlossaryOutputContract();
|
|
6
|
+
const personalGlossaryInstructions = `#### Step 4: Generate the profile and validate
|
|
7
|
+
|
|
8
|
+
Generate the complete non-glossary decision profile in memory as byte string \`B\`, following the Profile format template above. The generated base MUST NOT contain either personal-glossary marker or a line whose complete heading is \`## Glossary\`.
|
|
9
|
+
|
|
10
|
+
Use this ordered publication sequence. Do not reorder or combine its writes:
|
|
11
|
+
|
|
12
|
+
<!-- agentera:profile-full-action:capture-owned-glossary -->
|
|
13
|
+
1. **Capture and validate the existing owned Glossary section.** Before copying history or writing any generated bytes, read the existing \`profile_context.profile.path\` only if it exists. Count the literal start marker, literal end marker, and line-anchored \`## Glossary\` heading. If all counts are zero, set the captured section \`G\` to absent. Otherwise require exactly one of each, the start before the end, the heading inside that range, and the complete range to match the deterministic representation below. Its JSON must parse to a mapping with exactly \`schema_version\`, \`as_of\`, \`confidence_basis\`, and \`entries\`; require schema \`${profileGlossaryOutput.sectionSchemaVersion}\`, a valid calendar date, one integer confidence basis per unique case-insensitive term, and shared-primitive-valid entries. Reject unmatched markers, duplicate sections or terms, an unowned heading, malformed JSON or fields, or any other ambiguous boundary before a history copy or base write. Capture \`G\` as the exact bytes from the first byte of the start marker through the final byte of the end marker, inclusive.
|
|
14
|
+
<!-- agentera:profile-full-action:write-base-profile -->
|
|
15
|
+
2. **Write the base profile before glossary publication.** If a previous profile exists and validation succeeded, first copy its original bytes to the \`history/\` subdirectory alongside PROFILE.md. If \`G\` is absent, write \`B\` exactly to \`profile_context.profile.path\`. If \`G\` is present, write exactly \`B + (B ends with "\\n" ? "\\n" : "\\n\\n") + G + "\\n"\`. This replaces all generated non-glossary content while carrying the validated owned range byte-for-byte; do not parse, re-render, trim, or normalize \`G\`. The base profile now exists even on first generation.
|
|
16
|
+
<!-- agentera:profile-full-action:publish-profile-glossary -->
|
|
17
|
+
3. **Publish the glossary lifecycle result.** Only after the base profile exists, invoke \`${profileGlossaryOutput.command} --input - --format json\` with the structured request below. This post-write call retains, refreshes, or decays the preserved section and adds it on first generation.
|
|
18
|
+
|
|
19
|
+
Show the non-glossary change summary (added, updated, removed) after publication.
|
|
20
|
+
|
|
21
|
+
### Personal Glossary section
|
|
22
|
+
|
|
23
|
+
Profile Full actively synthesizes and persists personal glossary entries. It never reads a project glossary: do not accept, resolve, import, or inspect a project root, \`.agentera/glossary.yaml\`, project glossary artifact identity, or project-file provenance. Profile itself performs no consumer lookup, project precedence, or semantic-equivalence review; Discuss, Plan, and Build obtain that active behavior separately through \`agentera report glossary-advice\`.
|
|
24
|
+
|
|
25
|
+
Each entry is exactly the shared primitive from \`references/artifacts/glossary-entry-contract.yaml\`: \`term\`, \`meaning\`, \`confidence\`, \`permanence\`, \`temporal\`, and personal \`provenance\`. Do not restate or replace that authority's confidence, permanence, or provenance rules. Decision-pattern confidence and glossary-entry confidence are separate domains; glossary work MUST NOT alter decision headings, metadata, or confidence.
|
|
26
|
+
|
|
27
|
+
Write exactly one independently owned section in this deterministic representation, sorted by case-insensitive term identity:
|
|
28
|
+
|
|
29
|
+
~~~markdown
|
|
30
|
+
<!-- agentera:personal-glossary:start -->
|
|
31
|
+
## Glossary
|
|
32
|
+
|
|
33
|
+
\`\`\`json
|
|
34
|
+
{
|
|
35
|
+
"schema_version": "agentera.personalGlossarySection.v1",
|
|
36
|
+
"as_of": "YYYY-MM-DD",
|
|
37
|
+
"confidence_basis": { "case-insensitive term identity": 75 },
|
|
38
|
+
"entries": [
|
|
39
|
+
{
|
|
40
|
+
"term": "...",
|
|
41
|
+
"meaning": "...",
|
|
42
|
+
"confidence": 75,
|
|
43
|
+
"permanence": "durable",
|
|
44
|
+
"temporal": { "observed_at": "YYYY-MM-DD", "last_confirmed_at": "YYYY-MM-DD" },
|
|
45
|
+
"provenance": { "kind": "personal_explicit_definition", "evidence": [] }
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
\`\`\`
|
|
50
|
+
<!-- agentera:personal-glossary:end -->
|
|
51
|
+
~~~
|
|
52
|
+
|
|
53
|
+
The section-level \`confidence_basis\` records confidence at establishment or the latest qualifying refresh so decay is derived from that basis rather than repeatedly compounded from rendered confidence. It is lifecycle metadata, not an entry field. Send one \`${profileGlossaryOutput.requestSchemaVersion}\` YAML or JSON mapping on stdin with exactly \`schema_version\`, \`profile_path\`, \`as_of\`, \`fresh_entries\`, and \`retained_history\`. Set \`profile_path\` to the exact \`profile_context.profile.path\` returned by startup; do not discover it. Each retained-history row carries \`source_id\`, \`evidence_anchor\`, \`source_kind\`, and \`signal_type\`; the list may be empty when regeneration has no fresh entries. Use \`--dry-run\` for a no-write candidate preview after the ordered base write, never as a substitute for preserving \`G\`.
|
|
54
|
+
|
|
55
|
+
The callable adds the section when absent and otherwise replaces only the exact owned marker range, preserving every other byte. Unmatched markers, duplicate owned sections, or an unowned \`## Glossary\` heading fail before effects. New explicit entries retain exactly one admitted anchor; inferred entries retain exactly two pairwise-distinct anchors.
|
|
56
|
+
|
|
57
|
+
Merge terms case-insensitively. Preserve established spelling and \`observed_at\`. Matching fresh evidence refreshes confidence, confidence basis, evidence anchors, and \`last_confirmed_at\` only when meaning and provenance kind are unchanged; preserve permanence. Divergent meaning or provenance kind is a conflict, not an overwrite. Without fresh evidence, retain the entry and permanence, and derive integer confidence from the basis using the existing Profile exponential formula, the entry's unchanged permanence-class lambda, elapsed UTC calendar days from \`last_confirmed_at\`, the existing floor, and nearest-integer rounding. Age alone never deletes an entry. Identical input on the same date must produce identical bytes.
|
|
58
|
+
`;
|
|
59
|
+
export const servedInstructions = instructions.replace("#### Step 4: Generate the profile and validate\n\nWrite the decision profile to `profile_context.profile.path` following the Profile format template above.\n\nIf a previous version exists: copy to the `history/` subdirectory alongside PROFILE.md, generate new version, show change summary (added, updated, removed).", personalGlossaryInstructions);
|
|
60
|
+
export function loadProfileDecayParameters() {
|
|
61
|
+
const lambdas = /Decay parameters: stable λ=([0-9.]+), durable λ=([0-9.]+), situational λ=([0-9.]+)/.exec(instructions);
|
|
62
|
+
const floor = /Formula: effective_conf = conf × e\^\(-λ × days_since_confirmed\), floor (\d+)/.exec(instructions);
|
|
63
|
+
if (!lambdas || !floor)
|
|
64
|
+
throw new Error("Profile decay authority is malformed");
|
|
65
|
+
return {
|
|
66
|
+
lambdas: { stable: Number(lambdas[1]), durable: Number(lambdas[2]), situational: Number(lambdas[3]) },
|
|
67
|
+
floor: Number(floor[1]),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export default servedInstructions;
|
|
5
71
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/profile/instructions.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,k+oBAAk+oB,CAAC,CAAC;AAC7hpB,
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/capabilities/profile/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAE3F,sCAAsC;AACtC,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,k+oBAAk+oB,CAAC,CAAC;AAC7hpB,MAAM,qBAAqB,GAAG,8BAA8B,EAAE,CAAC;AAC/D,MAAM,4BAA4B,GAAG;;;;;;;8oBAOymB,qBAAqB,CAAC,oBAAoB;;;;6FAI3lB,qBAAqB,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uQAoC6I,qBAAqB,CAAC,oBAAoB;;;;;CAKhT,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CACpD,6TAA6T,EAC7T,4BAA4B,CAC7B,CAAC;AAEF,MAAM,UAAU,0BAA0B;IAIxC,MAAM,OAAO,GAAG,oFAAoF,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxH,MAAM,KAAK,GAAG,gFAAgF,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClH,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAChF,OAAO;QACL,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACrG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -15,7 +15,7 @@ export function slimBespokeContext(name, value) {
|
|
|
15
15
|
return slimBenchmarkContext(value);
|
|
16
16
|
return value;
|
|
17
17
|
}
|
|
18
|
-
export function bespokeCapabilityContexts(capabilityName, state) {
|
|
18
|
+
export function bespokeCapabilityContexts(capabilityName, state, buildRequest = null) {
|
|
19
19
|
// cast: orientation state fields are assembled from parsed .agentera artifacts;
|
|
20
20
|
// bespoke builders consume JsonObject/typed shapes for these state families.
|
|
21
21
|
const plan = state.plan;
|
|
@@ -27,6 +27,7 @@ export function bespokeCapabilityContexts(capabilityName, state) {
|
|
|
27
27
|
const bundle = state.app;
|
|
28
28
|
const todoItems = state.todo_items;
|
|
29
29
|
const schemas = state.schemas;
|
|
30
|
+
const projectRoot = String(state.project_root);
|
|
30
31
|
const history = state.history && typeof state.history === "object" && !Array.isArray(state.history)
|
|
31
32
|
? state.history
|
|
32
33
|
: {};
|
|
@@ -35,10 +36,10 @@ export function bespokeCapabilityContexts(capabilityName, state) {
|
|
|
35
36
|
: {};
|
|
36
37
|
return {
|
|
37
38
|
orchestration_context: orchestrationContext(capabilityName, plan, progress, health, todoItems, docs, profile, nextAction),
|
|
38
|
-
closeout_context: documentCloseoutContext(capabilityName, schemas, plan, progress, todoItems, docs, profile, bundle, decisionHistory),
|
|
39
|
+
closeout_context: documentCloseoutContext(capabilityName, schemas, plan, progress, todoItems, docs, profile, bundle, decisionHistory, projectRoot),
|
|
39
40
|
evidence_context: auditEvidenceContext(capabilityName, schemas, plan, progress, health, todoItems, docs, profile, bundle, decisionHistory),
|
|
40
41
|
benchmark_context: optimizeBenchmarkContext(capabilityName),
|
|
41
|
-
execution_context: buildExecutionContext(capabilityName, schemas, plan, progress, health, todoItems, docs, profile, bundle),
|
|
42
|
+
execution_context: buildExecutionContext(capabilityName, schemas, plan, progress, health, todoItems, docs, profile, bundle, projectRoot, buildRequest),
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
//# sourceMappingURL=bespoke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bespoke.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/bespoke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bespoke.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/bespoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,20 @@ import { closeoutChangelogBoundary, orchestrationTaskSummary, planContextField,
|
|
|
5
5
|
import { progressVerificationSummary } from "./progress.js";
|
|
6
6
|
import { STATE_FAMILY_FALLBACK_COMMANDS, STATE_FAMILY_LIST_COMMANDS } from "./types.js";
|
|
7
7
|
import { planLifecycleState } from "../planLifecycleState.js";
|
|
8
|
-
|
|
8
|
+
import { discoverProjectVerification } from "./projectVerification.js";
|
|
9
|
+
const TRANSIENT_BUILD_INPUT_COMMAND = "agentera prime --context build --input <file|-> --format json";
|
|
10
|
+
const TRANSIENT_BUILD_STDIN_COMMAND = "agentera prime --context build --input - --format json";
|
|
11
|
+
function transientSourceProvenance(request, field) {
|
|
12
|
+
return {
|
|
13
|
+
source_family: "transient_build_execution_request",
|
|
14
|
+
command: TRANSIENT_BUILD_INPUT_COMMAND,
|
|
15
|
+
field,
|
|
16
|
+
schema_version: request.schema_version,
|
|
17
|
+
source_kind: request.source.kind,
|
|
18
|
+
persisted: false,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function buildExecutionContext(capability, schemas, plan, progress, health, todoItems, docs, profile, bundle, projectRoot, buildRequest = null) {
|
|
9
22
|
if (capability !== "build")
|
|
10
23
|
return null;
|
|
11
24
|
const capabilityContract = capabilityContext(capability) ?? {};
|
|
@@ -15,14 +28,17 @@ export function buildExecutionContext(capability, schemas, plan, progress, healt
|
|
|
15
28
|
: asList(plan.tasks).filter((t) => t && typeof t === "object" && !Array.isArray(t));
|
|
16
29
|
const target = selectEvidenceTarget(plan);
|
|
17
30
|
const selected = taskByRef(plan, (target && typeof target === "object" ? target.task : null));
|
|
18
|
-
const acceptance =
|
|
31
|
+
const acceptance = buildRequest?.acceptance
|
|
32
|
+
?? (selected && typeof selected === "object" ? asList(selected.acceptance) : []);
|
|
19
33
|
const progressVerification = progressVerificationSummary(progress);
|
|
20
|
-
const changelogBoundary = closeoutChangelogBoundary(
|
|
34
|
+
const changelogBoundary = closeoutChangelogBoundary(projectRoot, plan);
|
|
21
35
|
const sweep = buildPlanCompletionSweep(plan);
|
|
22
36
|
const archiveOnly = Boolean(plan.exists) && plan.active === false;
|
|
23
37
|
let mode;
|
|
24
38
|
if (plan.active === true && plan.complete_plan)
|
|
25
39
|
mode = "completed_plan_sweep";
|
|
40
|
+
else if (buildRequest !== null && plan.active !== true)
|
|
41
|
+
mode = "no_plan";
|
|
26
42
|
else if (archiveOnly)
|
|
27
43
|
mode = "archive_only_history";
|
|
28
44
|
else if (!plan.exists || tasks.length === 0)
|
|
@@ -37,10 +53,6 @@ export function buildExecutionContext(capability, schemas, plan, progress, healt
|
|
|
37
53
|
stateCaveats.push(`${family} state is not included in prime --context startup context.`);
|
|
38
54
|
}
|
|
39
55
|
fallbackCommands.push(...(capabilityContract.cli_fallback ?? []));
|
|
40
|
-
if (!plan.exists) {
|
|
41
|
-
stateCaveats.push("plan state is unavailable; execution context cannot select plan-driven work.");
|
|
42
|
-
fallbackCommands.push("agentera state plan --format json");
|
|
43
|
-
}
|
|
44
56
|
if (lifecycle.status === "degraded") {
|
|
45
57
|
stateCaveats.push(...(lifecycle.caveats ?? []));
|
|
46
58
|
fallbackCommands.push("agentera state plan --format json");
|
|
@@ -82,48 +94,88 @@ export function buildExecutionContext(capability, schemas, plan, progress, healt
|
|
|
82
94
|
if (bundle.status !== "up_to_date") {
|
|
83
95
|
stateCaveats.push("Agentera app files are not up to date; this is a caveat, not approval to repair or update app files.");
|
|
84
96
|
}
|
|
85
|
-
const scopeBoundary =
|
|
97
|
+
const scopeBoundary = buildRequest === null
|
|
98
|
+
? buildScopeBoundary(plan, selected)
|
|
99
|
+
: {
|
|
100
|
+
artifact_families: ["progress", "todo", "docs", "health", "changelog", "decisions", "vision", "profile", "design"],
|
|
101
|
+
explicit_scope: buildRequest.scope,
|
|
102
|
+
source_scope: {
|
|
103
|
+
status: "unspecified",
|
|
104
|
+
explicit_paths: [],
|
|
105
|
+
policy: "The transient scope defines work intent only; no source-file allowlist or exclusion is inferred from its text.",
|
|
106
|
+
},
|
|
107
|
+
source_provenance: transientSourceProvenance(buildRequest, "scope"),
|
|
108
|
+
};
|
|
86
109
|
const sourceScope = scopeBoundary.source_scope && typeof scopeBoundary.source_scope === "object" && !Array.isArray(scopeBoundary.source_scope)
|
|
87
110
|
? scopeBoundary.source_scope
|
|
88
111
|
: {};
|
|
89
112
|
if (sourceScope.status === "unspecified") {
|
|
90
113
|
stateCaveats.push("source-file scope is unspecified; no allowed or prohibited source paths were inferred.");
|
|
91
114
|
}
|
|
115
|
+
const noCurrentPlan = plan.active !== true && lifecycle.status !== "degraded";
|
|
116
|
+
if (noCurrentPlan) {
|
|
117
|
+
fallbackCommands = fallbackCommands.filter((command) => command !== STATE_FAMILY_FALLBACK_COMMANDS.plan);
|
|
118
|
+
if (buildRequest === null) {
|
|
119
|
+
stateCaveats.push("Explicit no-plan scope and acceptance are required before Build can execute without a current plan.");
|
|
120
|
+
fallbackCommands.push(TRANSIENT_BUILD_STDIN_COMMAND);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
92
123
|
fallbackCommands = uniqueList(fallbackCommands);
|
|
93
124
|
stateCaveats = uniqueList(stateCaveats);
|
|
94
125
|
const requiredState = {
|
|
95
|
-
work_selection: mode === "plan_driven" || mode === "completed_plan_sweep",
|
|
126
|
+
work_selection: mode === "plan_driven" || mode === "completed_plan_sweep" || buildRequest !== null,
|
|
96
127
|
acceptance_criteria: mode === "completed_plan_sweep" || acceptance.length > 0,
|
|
97
128
|
artifact_update_requirements: Boolean(docs.exists),
|
|
98
129
|
progress_logging_requirements: progressVerification.status === "available" || (progressVerification.caveats ?? []).length > 0,
|
|
99
130
|
changelog_boundary: changelogBoundary.status === "available",
|
|
100
131
|
scope_boundary: true,
|
|
101
132
|
safety_boundaries: true,
|
|
133
|
+
plan_state_healthy: lifecycle.status !== "degraded",
|
|
102
134
|
};
|
|
103
135
|
const missingRequired = Object.entries(requiredState).filter(([, present]) => !present).map(([name]) => name);
|
|
104
136
|
const caveated = stateCaveats.length > 0;
|
|
105
|
-
const complete = (mode === "plan_driven" || mode === "completed_plan_sweep"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
work_selection: {
|
|
137
|
+
const complete = (mode === "plan_driven" || mode === "completed_plan_sweep" || buildRequest !== null)
|
|
138
|
+
&& missingRequired.length === 0;
|
|
139
|
+
const workSelection = buildRequest === null
|
|
140
|
+
? {
|
|
110
141
|
status: target.status,
|
|
111
142
|
selection_reason: target.selection_reason,
|
|
112
143
|
task: selected && typeof selected === "object" ? taskRef(selected) : null,
|
|
113
144
|
source_provenance: target.source_provenance,
|
|
114
145
|
caveats: target.caveats ?? [],
|
|
115
|
-
}
|
|
146
|
+
}
|
|
147
|
+
: {
|
|
148
|
+
status: "selected",
|
|
149
|
+
selection_reason: "explicit_no_plan_scope",
|
|
150
|
+
task: null,
|
|
151
|
+
scope: buildRequest.scope,
|
|
152
|
+
source_provenance: transientSourceProvenance(buildRequest, "scope"),
|
|
153
|
+
caveats: [],
|
|
154
|
+
};
|
|
155
|
+
const artifactUpdateRequirements = buildArtifactUpdateRequirements(plan, docs);
|
|
156
|
+
if (buildRequest !== null) {
|
|
157
|
+
artifactUpdateRequirements.required_families = ["progress", "todo", "changelog"];
|
|
158
|
+
artifactUpdateRequirements.plan_status_update_required = false;
|
|
159
|
+
artifactUpdateRequirements.policy = "Transient no-plan work does not create, mutate, or require plan state.";
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
capability: "build",
|
|
163
|
+
mode,
|
|
164
|
+
work_selection: workSelection,
|
|
116
165
|
plan_task: selected && typeof selected === "object" ? orchestrationTaskSummary(selected) : null,
|
|
117
166
|
acceptance_criteria: {
|
|
118
167
|
status: acceptance.length > 0 ? "available" : "incomplete",
|
|
119
168
|
items: acceptance,
|
|
120
169
|
count: acceptance.length,
|
|
121
|
-
source_provenance:
|
|
170
|
+
source_provenance: buildRequest === null
|
|
171
|
+
? sourceProvenance("plan", STATE_FAMILY_FALLBACK_COMMANDS.plan, "entries.acceptance")
|
|
172
|
+
: transientSourceProvenance(buildRequest, "acceptance"),
|
|
122
173
|
},
|
|
123
174
|
constraints: {
|
|
124
|
-
plan_constraints_present: hasRecordedValue(planContextField(plan, "constraints")),
|
|
125
|
-
plan_constraints_summary:
|
|
126
|
-
"run the plan CLI fallback only if full wording is needed."
|
|
175
|
+
plan_constraints_present: buildRequest === null && hasRecordedValue(planContextField(plan, "constraints")),
|
|
176
|
+
plan_constraints_summary: buildRequest === null
|
|
177
|
+
? "Plan constraints are represented here as structured safety and fallback policy; run the plan CLI fallback only if full wording is needed."
|
|
178
|
+
: "Transient no-plan input supplies scope and acceptance only; no plan constraints are inferred.",
|
|
127
179
|
protected_actions: [
|
|
128
180
|
"no profile refresh",
|
|
129
181
|
"no installed app refresh",
|
|
@@ -133,17 +185,18 @@ export function buildExecutionContext(capability, schemas, plan, progress, healt
|
|
|
133
185
|
"no commit/push/tag/publication without explicit approval",
|
|
134
186
|
],
|
|
135
187
|
unsupported_cli_command_policy: "Do not introduce capability-name or slash-alias CLI commands for Build.",
|
|
136
|
-
source_provenance:
|
|
188
|
+
source_provenance: buildRequest === null
|
|
189
|
+
? sourceProvenance("plan", STATE_FAMILY_FALLBACK_COMMANDS.plan, "summary.constraints")
|
|
190
|
+
: transientSourceProvenance(buildRequest, "scope"),
|
|
137
191
|
},
|
|
138
192
|
scope_boundary: scopeBoundary,
|
|
139
193
|
verification_expectations: {
|
|
140
194
|
latest_progress_verification: progressVerification,
|
|
141
|
-
|
|
142
|
-
source_provenance: sourceProvenance("plan", STATE_FAMILY_FALLBACK_COMMANDS.plan, "entries.acceptance"),
|
|
195
|
+
...discoverProjectVerification(projectRoot),
|
|
143
196
|
},
|
|
144
|
-
artifact_update_requirements:
|
|
197
|
+
artifact_update_requirements: artifactUpdateRequirements,
|
|
145
198
|
progress_logging_requirements: {
|
|
146
|
-
append_cycle: !archiveOnly,
|
|
199
|
+
append_cycle: buildRequest !== null || !archiveOnly,
|
|
147
200
|
verified_field_mandatory: true,
|
|
148
201
|
latest_progress_verification_pointer: progressVerification.latest_progress_verification_pointer ?? null,
|
|
149
202
|
source_provenance: sourceProvenance("progress", STATE_FAMILY_LIST_COMMANDS.progress),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAe,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EACL,yBAAyB,EAEzB,wBAAwB,EACxB,gBAAgB,EAChB,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAe,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EACL,yBAAyB,EAEzB,wBAAwB,EACxB,gBAAgB,EAChB,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,6BAA6B,GAAG,+DAA+D,CAAC;AACtG,MAAM,6BAA6B,GAAG,wDAAwD,CAAC;AAE/F,SAAS,yBAAyB,CAAC,OAA8B,EAAE,KAAa;IAC9E,OAAO;QACL,aAAa,EAAE,mCAAmC;QAClD,OAAO,EAAE,6BAA6B;QACtC,KAAK;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;QAChC,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAAyB,EACzB,OAAmC,EACnC,IAAgB,EAChB,QAAoB,EACpB,MAAkB,EAClB,SAAwC,EACxC,IAAgB,EAChB,OAAmB,EACnB,MAAkB,EAClB,WAAmB,EACnB,eAA6C,IAAI;IAEjD,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GACT,SAAS,CAAC,qBAAqB,KAAK,IAAI;QACtC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAsB,CAAC,CAAC;IACnH,MAAM,UAAU,GAAG,YAAY,EAAE,UAAU;WACtC,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IAElE,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa;QAAE,IAAI,GAAG,sBAAsB,CAAC;SACzE,IAAI,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,IAAI,GAAG,SAAS,CAAC;SACpE,IAAI,WAAW;QAAE,IAAI,GAAG,sBAAsB,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,GAAG,SAAS,CAAC;SACzD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,KAAK,IAAI;QAAE,IAAI,GAAG,aAAa,CAAC;;QAC5E,IAAI,GAAG,+BAA+B,CAAC;IAE5C,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,IAAI,EAAE,CAAa,EAAE,CAAC;QACnF,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,4DAA4D,CAAC,CAAC;IAC3F,CAAC;IACD,gBAAgB,CAAC,IAAI,CAAC,GAAI,CAAC,kBAAkB,CAAC,YAAY,IAAI,EAAE,CAAc,CAAC,CAAC;IAChF,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACpC,YAAY,CAAC,IAAI,CAAC,GAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAc,CAAC,CAAC;QAC9D,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,KAAK,+BAA+B,EAAE,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC3F,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,YAAY,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACvF,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QAC3F,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,YAAY,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC/D,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACtE,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;QAC5H,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,GAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAc,CAAC,CAAC;QACtE,gBAAgB,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAClC,YAAY,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;IAC5H,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,KAAK,IAAI;QACzC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,CAAC,CAAC;YACE,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;YAClH,cAAc,EAAE,YAAY,CAAC,KAAK;YAClC,YAAY,EAAE;gBACZ,MAAM,EAAE,aAAa;gBACrB,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,gHAAgH;aACzH;YACD,iBAAiB,EAAE,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC;SACpE,CAAC;IACN,MAAM,WAAW,GACf,aAAa,CAAC,YAAY,IAAI,OAAO,aAAa,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;QACxH,CAAC,CAAC,aAAa,CAAC,YAAY;QAC5B,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACzC,YAAY,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC;IAC9E,IAAI,aAAa,EAAE,CAAC;QAClB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;YACzH,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAChD,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,aAAa,GAA4B;QAC7C,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,sBAAsB,IAAI,YAAY,KAAK,IAAI;QAClG,mBAAmB,EAAE,IAAI,KAAK,sBAAsB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAC7E,4BAA4B,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,6BAA6B,EAAE,oBAAoB,CAAC,MAAM,KAAK,WAAW,IAAK,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,CAAc,CAAC,MAAM,GAAG,CAAC;QAC3I,kBAAkB,EAAE,iBAAiB,CAAC,MAAM,KAAK,WAAW;QAC5D,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,SAAS,CAAC,MAAM,KAAK,UAAU;KACpD,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,sBAAsB,IAAI,YAAY,KAAK,IAAI,CAAC;WAChG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,MAAM,aAAa,GAAe,YAAY,KAAK,IAAI;QACrD,CAAC,CAAC;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,IAAI,EAAE,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YACzE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;SAC9B;QACH,CAAC,CAAC;YACE,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,wBAAwB;YAC1C,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,iBAAiB,EAAE,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC;YACnE,OAAO,EAAE,EAAE;SACZ,CAAC;IACN,MAAM,0BAA0B,GAAG,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/E,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,0BAA0B,CAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjF,0BAA0B,CAAC,2BAA2B,GAAG,KAAK,CAAC;QAC/D,0BAA0B,CAAC,MAAM,GAAG,wEAAwE,CAAC;IAC/G,CAAC;IACD,OAAO;QACL,UAAU,EAAE,OAAO;QACnB,IAAI;QACJ,cAAc,EAAE,aAAa;QAC7B,SAAS,EAAE,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/F,mBAAmB,EAAE;YACnB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;YAC1D,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,iBAAiB,EAAE,YAAY,KAAK,IAAI;gBACtC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBACrF,CAAC,CAAC,yBAAyB,CAAC,YAAY,EAAE,YAAY,CAAC;SAC1D;QACD,WAAW,EAAE;YACX,wBAAwB,EAAE,YAAY,KAAK,IAAI,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1G,wBAAwB,EAAE,YAAY,KAAK,IAAI;gBAC7C,CAAC,CAAC,2IAA2I;gBAC7I,CAAC,CAAC,+FAA+F;YACnG,iBAAiB,EAAE;gBACjB,oBAAoB;gBACpB,0BAA0B;gBAC1B,gBAAgB;gBAChB,yBAAyB;gBACzB,8CAA8C;gBAC9C,0DAA0D;aAC3D;YACD,8BAA8B,EAAE,yEAAyE;YACzG,iBAAiB,EAAE,YAAY,KAAK,IAAI;gBACtC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,CAAC,IAAI,EAAE,qBAAqB,CAAC;gBACtF,CAAC,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC;SACrD;QACD,cAAc,EAAE,aAAa;QAC7B,yBAAyB,EAAE;YACzB,4BAA4B,EAAE,oBAAoB;YAClD,GAAG,2BAA2B,CAAC,WAAW,CAAC;SAC5C;QACD,4BAA4B,EAAE,0BAA0B;QACxD,6BAA6B,EAAE;YAC7B,YAAY,EAAE,YAAY,KAAK,IAAI,IAAI,CAAC,WAAW;YACnD,wBAAwB,EAAE,IAAI;YAC9B,oCAAoC,EAAE,oBAAoB,CAAC,oCAAoC,IAAI,IAAI;YACtG,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,CAAC,QAAQ,CAAC;SACtF;QACD,kBAAkB,EAAE,iBAAiB;QACrC,YAAY,EAAE;YACZ,mBAAmB,EAAE,KAAK;YAC1B,8CAA8C,EAAE,IAAI;YACpD,0BAA0B,EAAE,KAAK;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,cAAc,CAAC;SACzH;QACD,qBAAqB,EAAE,KAAK;QAC5B,oBAAoB,EAAE,SAAS;QAC/B,oBAAoB,EAAE,YAAY;QAClC,iBAAiB,EAAE,gBAAgB;QACnC,eAAe,EAAE;YACf,8BAA8B,EAAE,QAAQ;YACxC,QAAQ;YACR,2BAA2B,EAAE,KAAK;YAClC,wBAAwB,EACtB,6GAA6G;gBAC7G,+HAA+H;YACjI,uBAAuB,EAAE,kBAAkB,CAAC,uBAAuB,IAAI,EAAE;YACzE,sBAAsB,EAAE,kBAAkB,CAAC,sBAAsB,IAAI,EAAE;YACvE,wBAAwB,EAAE,aAAa;YACvC,gCAAgC,EAAE,eAAe;YACjD,iBAAiB,EAAE,gBAAgB;YACnC,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE;gBACJ,oBAAoB;gBACpB,sCAAsC;gBACtC,mCAAmC;gBACnC,2BAA2B;gBAC3B,8BAA8B;gBAC9B,+BAA+B;gBAC/B,oBAAoB;gBACpB,gBAAgB;gBAChB,0CAA0C;gBAC1C,gCAAgC;gBAChC,sBAAsB;aACvB;YACD,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -142,14 +142,14 @@ export function closeoutReleaseBoundary(changelogBoundary, bundle) {
|
|
|
142
142
|
caveats,
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
|
-
export function documentCloseoutContext(capability, schemas, plan, progress, todoItems, docs, profile, bundle, decisionHistory) {
|
|
145
|
+
export function documentCloseoutContext(capability, schemas, plan, progress, todoItems, docs, profile, bundle, decisionHistory, projectRoot) {
|
|
146
146
|
if (capability !== "document")
|
|
147
147
|
return null;
|
|
148
148
|
const capabilityContract = capabilityContext(capability) ?? {};
|
|
149
149
|
const artifactMappings = closeoutArtifactMappings(docs);
|
|
150
150
|
const versionPolicy = closeoutVersionPolicy(docs);
|
|
151
151
|
const todoBlockers = closeoutTodoBlockers(schemas, todoItems);
|
|
152
|
-
const changelogBoundary = closeoutChangelogBoundary(
|
|
152
|
+
const changelogBoundary = closeoutChangelogBoundary(projectRoot, plan);
|
|
153
153
|
const progressEvidence = progressVerificationSummary(progress);
|
|
154
154
|
const benchmarkEvidence = closeoutBenchmarkEvidence(docs);
|
|
155
155
|
const releaseBoundary = closeoutReleaseBoundary(changelogBoundary, bundle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/closeout.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../../../../../../home/jgabor/git/agentera/packages/cli/src/cli/capabilityContext/closeout.ts"],"names":[],"mappings":"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"}
|