agentera 3.0.0-dev.22 → 3.0.0-dev.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -5
- package/bundle/.cursor/agents/agentera.md +1 -1
- package/bundle/.opencode/agents/agentera.md +1 -1
- package/bundle/CHANGELOG.md +15 -5
- package/bundle/README.md +9 -8
- package/bundle/UPGRADE.md +10 -24
- package/bundle/agents/openai.yaml +1 -1
- package/bundle/references/adapters/package-manifest-interface-model.yaml +2 -0
- package/bundle/references/adapters/package-registry.yaml +9 -0
- package/bundle/references/artifacts/state-storage-authority.yaml +842 -15
- package/bundle/references/cli/agent-ready-state-contract.yaml +25 -17
- package/bundle/references/cli/prime-consumer-compatibility.yaml +676 -0
- package/bundle/references/cli/update-channels.yaml +4 -2
- package/bundle/references/cli/vocabulary-index.yaml +3 -3
- package/bundle/references/cli/vocabulary.md +14 -7
- package/bundle/skills/agentera/SKILL.md +35 -20
- package/bundle/skills/agentera/agents/audit.toml +1 -1
- package/bundle/skills/agentera/agents/build.toml +1 -1
- package/bundle/skills/agentera/agents/design.toml +1 -1
- package/bundle/skills/agentera/agents/discuss.toml +1 -1
- package/bundle/skills/agentera/agents/document.toml +1 -1
- package/bundle/skills/agentera/agents/optimize.toml +1 -1
- package/bundle/skills/agentera/agents/orchestrate.toml +1 -1
- package/bundle/skills/agentera/agents/plan.toml +1 -1
- package/bundle/skills/agentera/agents/profile.toml +1 -1
- package/bundle/skills/agentera/agents/research.toml +1 -1
- package/bundle/skills/agentera/agents/status.toml +1 -1
- package/bundle/skills/agentera/agents/vision.toml +1 -1
- package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +12 -12
- package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +12 -12
- package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +8 -8
- package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +7 -7
- package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +12 -12
- package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +9 -9
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +11 -11
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +9 -9
- package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +2 -2
- package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +3 -3
- package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +11 -11
- package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +15 -2
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +4 -1
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +21 -21
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +15 -2
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +36 -15
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +15 -2
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +4 -4
- package/dist/capabilities/audit/instructions.js +13 -1
- package/dist/capabilities/audit/instructions.js.map +1 -1
- package/dist/capabilities/build/instructions.js +14 -1
- package/dist/capabilities/build/instructions.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js +11 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/document/instructions.js +9 -1
- package/dist/capabilities/document/instructions.js.map +1 -1
- package/dist/capabilities/index.js +9 -8
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/optimize/instructions.js +10 -1
- package/dist/capabilities/optimize/instructions.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js +13 -2
- package/dist/capabilities/orchestrate/instructions.js.map +1 -1
- package/dist/capabilities/plan/instructions.js +10 -1
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/capabilities/status/startupInstructions.js +35 -0
- package/dist/capabilities/status/startupInstructions.js.map +1 -0
- package/dist/cli/capabilityContext/build.js +3 -3
- package/dist/cli/capabilityContext/build.js.map +1 -1
- package/dist/cli/capabilityContext/closeout.js +5 -5
- package/dist/cli/capabilityContext/closeout.js.map +1 -1
- package/dist/cli/capabilityContext/contract.js +14 -19
- package/dist/cli/capabilityContext/contract.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +7 -7
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/capabilityContext/planState.js +12 -11
- package/dist/cli/capabilityContext/planState.js.map +1 -1
- package/dist/cli/capabilityContext/progress.js +1 -1
- package/dist/cli/capabilityContext/progress.js.map +1 -1
- package/dist/cli/capabilityContext/shared.js +8 -2
- package/dist/cli/capabilityContext/shared.js.map +1 -1
- package/dist/cli/capabilityContext/slim.js +2 -1
- package/dist/cli/capabilityContext/slim.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +22 -11
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/capabilityContext/types.js +4 -4
- package/dist/cli/capabilityContext/types.js.map +1 -1
- package/dist/cli/commands/backfill.js +39 -2
- package/dist/cli/commands/backfill.js.map +1 -1
- package/dist/cli/commands/durability.js +34 -1
- package/dist/cli/commands/durability.js.map +1 -1
- package/dist/cli/commands/entityMigrate.js +128 -0
- package/dist/cli/commands/entityMigrate.js.map +1 -0
- package/dist/cli/commands/migrate.js +4 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/prime/briefOrientation.js +584 -0
- package/dist/cli/commands/prime/briefOrientation.js.map +1 -0
- package/dist/cli/commands/prime/collectEntityOrientation.js +148 -0
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -0
- package/dist/cli/commands/prime/collectOrientationState.js +21 -27
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +118 -24
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime.js +32 -3
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +41 -15
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/schema.js +10 -34
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +13 -0
- package/dist/cli/commands/state/decisions.js.map +1 -1
- package/dist/cli/commands/state/docs.js +38 -0
- package/dist/cli/commands/state/docs.js.map +1 -1
- package/dist/cli/commands/state/experimentRecords.js +82 -0
- package/dist/cli/commands/state/experimentRecords.js.map +1 -1
- package/dist/cli/commands/state/experiments.js +13 -0
- package/dist/cli/commands/state/experiments.js.map +1 -1
- package/dist/cli/commands/state/get.js +69 -2
- package/dist/cli/commands/state/get.js.map +1 -1
- package/dist/cli/commands/state/health.js +13 -0
- package/dist/cli/commands/state/health.js.map +1 -1
- package/dist/cli/commands/state/index.js +9 -0
- package/dist/cli/commands/state/index.js.map +1 -1
- package/dist/cli/commands/state/list.js +40 -7
- package/dist/cli/commands/state/list.js.map +1 -1
- package/dist/cli/commands/state/objective.js +24 -0
- package/dist/cli/commands/state/objective.js.map +1 -1
- package/dist/cli/commands/state/plan.js +17 -2
- package/dist/cli/commands/state/plan.js.map +1 -1
- package/dist/cli/commands/state/planTasks.js +38 -25
- package/dist/cli/commands/state/planTasks.js.map +1 -1
- package/dist/cli/commands/state/plans.js +32 -16
- package/dist/cli/commands/state/plans.js.map +1 -1
- package/dist/cli/commands/state/progress.js +12 -0
- package/dist/cli/commands/state/progress.js.map +1 -1
- package/dist/cli/commands/state/shared.js.map +1 -1
- package/dist/cli/commands/state/todo.js +30 -0
- package/dist/cli/commands/state/todo.js.map +1 -1
- package/dist/cli/commands/state/write.js +79 -4
- package/dist/cli/commands/state/write.js.map +1 -1
- package/dist/cli/commands/upgrade.js +65 -31
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgradeVerify.js +46 -14
- package/dist/cli/commands/upgradeVerify.js.map +1 -1
- package/dist/cli/commands/validate.js +65 -0
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/dispatch/check.js +8 -1
- package/dist/cli/dispatch/check.js.map +1 -1
- package/dist/cli/dispatch/index.js +6 -0
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js +2 -5
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/dispatch/prime.js +15 -0
- package/dist/cli/dispatch/prime.js.map +1 -1
- package/dist/cli/dispatch/state.js +7 -1
- package/dist/cli/dispatch/state.js.map +1 -1
- package/dist/cli/help.js +79 -21
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/migrationRequired.js +84 -0
- package/dist/cli/migrationRequired.js.map +1 -0
- package/dist/cli/orientation/attention.js +2 -2
- package/dist/cli/orientation/attention.js.map +1 -1
- package/dist/cli/orientation.js +13 -10
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js +192 -42
- package/dist/cli/planArtifacts.js.map +1 -1
- package/dist/cli/prime-blob.js +5 -5
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js +3 -3
- package/dist/cli/startupCompletenessContract.js.map +1 -1
- package/dist/cli/stateQuery.js +42 -5
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/hooks/compaction/status.js +25 -1
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js +6 -0
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/sessionStart.js +62 -0
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/registries/artifactRegistry.js +23 -14
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/packageRegistry.js +1 -1
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/state/archivePublication.js +3 -2
- package/dist/state/archivePublication.js.map +1 -1
- package/dist/state/decisionEntities.js +279 -0
- package/dist/state/decisionEntities.js.map +1 -0
- package/dist/state/decisionLegacyValidation.js +185 -0
- package/dist/state/decisionLegacyValidation.js.map +1 -0
- package/dist/state/decisionOverlay.js +26 -3
- package/dist/state/decisionOverlay.js.map +1 -1
- package/dist/state/decisionRevision.js +632 -0
- package/dist/state/decisionRevision.js.map +1 -0
- package/dist/state/decisionRevisionPublication.js +532 -0
- package/dist/state/decisionRevisionPublication.js.map +1 -0
- package/dist/state/directRetrieval.js +55 -4
- package/dist/state/directRetrieval.js.map +1 -1
- package/dist/state/durability.js +92 -1
- package/dist/state/durability.js.map +1 -1
- package/dist/state/entityCutover.js +390 -0
- package/dist/state/entityCutover.js.map +1 -0
- package/dist/state/entityCutoverGit.js +128 -0
- package/dist/state/entityCutoverGit.js.map +1 -0
- package/dist/state/entityMigrationPreview.js +803 -0
- package/dist/state/entityMigrationPreview.js.map +1 -0
- package/dist/state/entityPublicationContext.js +612 -0
- package/dist/state/entityPublicationContext.js.map +1 -0
- package/dist/state/entityStorage.js +807 -0
- package/dist/state/entityStorage.js.map +1 -0
- package/dist/state/experimentIdentity.js +23 -11
- package/dist/state/experimentIdentity.js.map +1 -1
- package/dist/state/gitBackfill.js.map +1 -1
- package/dist/state/healthEntities.js +227 -0
- package/dist/state/healthEntities.js.map +1 -0
- package/dist/state/healthEntityValidation.js +6 -0
- package/dist/state/healthEntityValidation.js.map +1 -0
- package/dist/state/legacyEntityCutoverEvidence.js +66 -0
- package/dist/state/legacyEntityCutoverEvidence.js.map +1 -0
- package/dist/state/listRetrieval.js +42 -11
- package/dist/state/listRetrieval.js.map +1 -1
- package/dist/state/objectiveExperimentEntities.js +321 -0
- package/dist/state/objectiveExperimentEntities.js.map +1 -0
- package/dist/state/planEntities.js +358 -0
- package/dist/state/planEntities.js.map +1 -0
- package/dist/state/progressEntities.js +382 -0
- package/dist/state/progressEntities.js.map +1 -0
- package/dist/state/projectRoot.js +63 -0
- package/dist/state/projectRoot.js.map +1 -0
- package/dist/state/projectionRecovery.js +458 -0
- package/dist/state/projectionRecovery.js.map +1 -0
- package/dist/state/retrievalAuthority.js +13 -6
- package/dist/state/retrievalAuthority.js.map +1 -1
- package/dist/state/safeProjectFile.js +153 -0
- package/dist/state/safeProjectFile.js.map +1 -0
- package/dist/state/startupProjection.js +68 -1
- package/dist/state/startupProjection.js.map +1 -1
- package/dist/state/stateMode.js +76 -0
- package/dist/state/stateMode.js.map +1 -0
- package/dist/state/todoDocsEntities.js +223 -0
- package/dist/state/todoDocsEntities.js.map +1 -0
- package/dist/state/todoDocsEntityValidation.js +26 -0
- package/dist/state/todoDocsEntityValidation.js.map +1 -0
- package/dist/state/write/candidateMutation.js +281 -0
- package/dist/state/write/candidateMutation.js.map +1 -0
- package/dist/state/write/explain.js +156 -33
- package/dist/state/write/explain.js.map +1 -1
- package/dist/state/write/helpers.js +22 -0
- package/dist/state/write/helpers.js.map +1 -1
- package/dist/state/write/lock.js +794 -87
- package/dist/state/write/lock.js.map +1 -1
- package/dist/state/write/mutation.js +47 -2
- package/dist/state/write/mutation.js.map +1 -1
- package/dist/state/write/operations.js +99 -6
- package/dist/state/write/operations.js.map +1 -1
- package/dist/state/write/planEvaluation.js +107 -0
- package/dist/state/write/planEvaluation.js.map +1 -0
- package/dist/state/write/planPublication.js +11 -55
- package/dist/state/write/planPublication.js.map +1 -1
- package/dist/state/write/transaction.js +111 -358
- package/dist/state/write/transaction.js.map +1 -1
- package/dist/upgrade/compatibility.js +4 -4
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/migrateArtifactsV2ToV3.js +13 -14
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/upgradeOrchestrator.js +126 -23
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/validate/crossCapability.js +2 -2
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/lifecycleAdapters/lifecycleMain.js +154 -0
- package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +5 -156
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/package.json +3 -3
- package/dist/upgrade/upgradeSnapshot.js +0 -93
- package/dist/upgrade/upgradeSnapshot.js.map +0 -1
|
@@ -7,15 +7,17 @@ import { nextEntryNumber, nextTaskNumber } from "./assign.js";
|
|
|
7
7
|
import { schemaBudget, projectedFields } from "./fields.js";
|
|
8
8
|
import { operationSpec, verbsForArtifact, } from "./operations.js";
|
|
9
9
|
import { reject } from "./errors.js";
|
|
10
|
+
import { detectStateMode } from "../stateMode.js";
|
|
10
11
|
function liveDoc(p) {
|
|
11
12
|
if (!fs.existsSync(p))
|
|
12
13
|
return {};
|
|
13
14
|
return loadYamlMapping(fs.readFileSync(p, "utf8"));
|
|
14
15
|
}
|
|
15
16
|
function defaultVerb(artifact) {
|
|
16
|
-
return artifact === "experiments" ? "publish" : "append";
|
|
17
|
+
return artifact === "experiments" ? "publish" : ["objective", "todo", "docs"].includes(artifact) ? "create" : "append";
|
|
17
18
|
}
|
|
18
19
|
export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
20
|
+
const stateMode = detectStateMode(projectRoot);
|
|
19
21
|
const verb = (requestedVerb ?? defaultVerb(artifact));
|
|
20
22
|
const spec = operationSpec(artifact, verb);
|
|
21
23
|
if (!spec) {
|
|
@@ -28,11 +30,15 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
28
30
|
const record = loadArtifactRegistry().get(artifact);
|
|
29
31
|
if (!record)
|
|
30
32
|
reject({ class: "unsupported_target", message: `artifact "${artifact}" is not registered` });
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
const legacyEvidence = stateMode === "legacy" && ["progress", "decisions", "health", "plan"].includes(artifact);
|
|
34
|
+
const entityArtifact = !legacyEvidence && ["progress", "decisions", "health", "plan", "objective", "experiments", "todo", "docs"].includes(artifact);
|
|
35
|
+
const resolved = entityArtifact
|
|
36
|
+
? path.join(projectRoot, ".agentera", "entities", artifact, artifact === "progress" ? "progress_cycle" : artifact === "health" ? "health_audit" : artifact === "plan" ? ["append", "update", "set-status", "record-evaluation"].includes(verb) ? "plan_task" : "plan" : artifact === "objective" ? "objective" : artifact === "experiments" ? "experiment" : artifact === "todo" ? "todo_item" : artifact === "docs" ? "documentation_inventory_entry" : verb === "append" ? "decision" : verb === "update" ? "decision_satisfaction" : "decision_revision", "<id>.yaml")
|
|
37
|
+
: artifact === "experiments"
|
|
38
|
+
? path.join(projectRoot, ".agentera", "optimize", "<objective>", "experiments.yaml")
|
|
39
|
+
: resolveArtifactPath(record, projectRoot, { strictWrite: true });
|
|
40
|
+
const doc = artifact === "experiments" || entityArtifact ? {} : liveDoc(resolved);
|
|
41
|
+
const next = artifact === "experiments" || entityArtifact
|
|
36
42
|
? {}
|
|
37
43
|
: artifact === "plan"
|
|
38
44
|
? { task_number: nextTaskNumber(doc) }
|
|
@@ -40,14 +46,24 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
40
46
|
number: nextEntryNumber(doc, artifact === "progress" ? "cycles" : artifact === "decisions" ? "decisions" : "audits"),
|
|
41
47
|
};
|
|
42
48
|
const validator = new ArtifactSchemaValidator();
|
|
43
|
-
const fields = projectedFields(spec, validator)
|
|
44
|
-
|
|
45
|
-
field: field.
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
const fields = projectedFields(spec, validator)
|
|
50
|
+
.filter(() => !(entityArtifact && artifact === "health" && verb === "repair"))
|
|
51
|
+
.filter((field) => artifact !== "decisions" || !["update", "amend"].includes(verb) || (entityArtifact ? field.flag !== "--number" : !["--id", "--base-sha256"].includes(field.flag)))
|
|
52
|
+
.filter((field) => !(entityArtifact && artifact === "experiments" && field.flag === "--number"))
|
|
53
|
+
.map((field) => ({
|
|
54
|
+
flag: entityArtifact && artifact === "plan" && field.flag === "--task" ? "--id" : field.flag,
|
|
55
|
+
field: entityArtifact && artifact === "plan" && field.flag === "--task" ? "id" : field.field,
|
|
56
|
+
required: Boolean(field.required || (artifact === "decisions" && ["update", "amend"].includes(verb) && (entityArtifact ? field.flag === "--id" || (verb === "amend" && field.flag === "--base-sha256") : field.flag === "--number"))),
|
|
57
|
+
type: entityArtifact && artifact === "plan" && field.flag === "--task" ? "string" : field.kind,
|
|
48
58
|
...(field.validValues ? { valid_values: field.validValues } : {}),
|
|
49
59
|
...(field.repeatable ? { repeatable: true } : {}),
|
|
50
|
-
...(field.description ? { description: field.
|
|
60
|
+
...(field.description ? { description: entityArtifact && artifact === "objective" && field.flag === "--id"
|
|
61
|
+
? "Bare ten-letter objective ID returned by objective create or list."
|
|
62
|
+
: entityArtifact && artifact === "experiments" && field.flag === "--objective"
|
|
63
|
+
? "Bare ten-letter objective ID owning the experiment."
|
|
64
|
+
: entityArtifact && artifact === "experiments" && field.flag === "--id"
|
|
65
|
+
? "Existing bare ten-letter experiment ID for exact immutable replay."
|
|
66
|
+
: field.description } : {}),
|
|
51
67
|
...(field.kind === "date" ? { format: "YYYY-MM-DD" } : {}),
|
|
52
68
|
...(field.kind === "datetime" ? { format: "YYYY-MM-DD HH:MM" } : {}),
|
|
53
69
|
...(field.flag === "--timestamp" ? { default: "now" } : {}),
|
|
@@ -58,6 +74,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
58
74
|
command: `state ${artifact} explain`,
|
|
59
75
|
requested_verb: verb,
|
|
60
76
|
artifact,
|
|
77
|
+
...(legacyEvidence ? {
|
|
78
|
+
classification: "legacy_migration_evidence",
|
|
79
|
+
recovery_only: true,
|
|
80
|
+
recovery: `Complete the entity cutover with agentera state migrate entities --project ${projectRoot} --dry-run --format json; this writer remains aggregate-only and creates no entity state.`,
|
|
81
|
+
} : {}),
|
|
61
82
|
path: path.relative(projectRoot, resolved) || resolved,
|
|
62
83
|
verbs: verbsForArtifact(artifact),
|
|
63
84
|
next,
|
|
@@ -65,9 +86,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
65
86
|
fields,
|
|
66
87
|
};
|
|
67
88
|
if (spec.compacts) {
|
|
68
|
-
result.compaction =
|
|
69
|
-
?
|
|
70
|
-
:
|
|
89
|
+
result.compaction = entityArtifact
|
|
90
|
+
? `not applicable; each canonical ${artifact} entity is authority and no aggregate projection or numbered archive is written`
|
|
91
|
+
: artifact === "experiments"
|
|
92
|
+
? "uniform_10_40_50 (10 active full-detail and 40 one-line archive entries); runs automatically on publication; durable archival is deferred"
|
|
93
|
+
: "uniform_10_40_50 (bounded active/archive projections: 10 active full-detail and 40 archive entries; verified numbered archives remain authoritative; no destructive deletion; recovery refuses to omit entries when archive evidence is missing); runs automatically on append";
|
|
71
94
|
}
|
|
72
95
|
if (spec.inputRoot) {
|
|
73
96
|
result.input_schema = {
|
|
@@ -76,7 +99,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
76
99
|
parser: "yaml",
|
|
77
100
|
accepts_json: true,
|
|
78
101
|
root: spec.inputRoot,
|
|
79
|
-
cli_owned_fields:
|
|
102
|
+
cli_owned_fields: entityArtifact && artifact === "experiments"
|
|
103
|
+
? ["id", "artifact", "objective"]
|
|
104
|
+
: entityArtifact && artifact === "objective"
|
|
105
|
+
? ["id", "artifact"]
|
|
106
|
+
: entityArtifact && ["health", "docs", "plan"].includes(artifact) ? ["id", "artifact"] : spec.cliOwnedFields ?? [],
|
|
80
107
|
defaulted_fields: artifact === "health" ? { date: "today" } : {},
|
|
81
108
|
groups: artifact === "health"
|
|
82
109
|
? ["AUDIT", "DIMENSION", "FINDING", "TRENDS"]
|
|
@@ -85,45 +112,141 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
|
|
|
85
112
|
: ["HEADER", "PLAN", "SCOPE", "TASK"],
|
|
86
113
|
};
|
|
87
114
|
}
|
|
88
|
-
result.guidance =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
? "pass the intended non-negative --number; the CLI validates and assigns it to the entry"
|
|
97
|
-
: "number is assigned by the CLI; do not pass --number",
|
|
115
|
+
result.guidance = decisionsGuidance(artifact, verb, entityArtifact && artifact === "decisions", entityArtifact && artifact === "health", entityArtifact);
|
|
116
|
+
result.example = entityArtifact && artifact === "health" && verb === "repair"
|
|
117
|
+
? "agentera check validate state --format json"
|
|
118
|
+
: exampleFor(artifact, verb, entityArtifact && artifact === "decisions", entityArtifact);
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
function decisionsGuidance(artifact, verb, entityDecisions = false, entityHealth = false, entityArtifact = false) {
|
|
122
|
+
const base = [
|
|
98
123
|
"do not embed commit hashes; evidence belongs in the commit message (Decision 66)",
|
|
99
124
|
"fold the artifact write into the implementation commit per AGENTS.md",
|
|
100
125
|
];
|
|
101
|
-
|
|
102
|
-
|
|
126
|
+
if (entityArtifact && artifact === "plan" && verb === "create")
|
|
127
|
+
return [
|
|
128
|
+
"the CLI assigns bare IDs to the plan and each task and publishes one canonical file per entity",
|
|
129
|
+
...base,
|
|
130
|
+
];
|
|
131
|
+
if (entityArtifact && artifact === "plan" && ["update", "set-status", "record-evaluation"].includes(verb))
|
|
132
|
+
return ["select one task entity with its bare ten-letter --id; ordinal selectors are unavailable", ...base];
|
|
133
|
+
if (entityArtifact && artifact === "plan" && verb === "append")
|
|
134
|
+
return ["the CLI assigns a bare ten-letter ID to the new task entity", ...base];
|
|
135
|
+
if (entityArtifact && artifact === "plan")
|
|
136
|
+
return ["the active plan entity is selected by lifecycle state", ...base];
|
|
137
|
+
if (artifact === "plan" && verb === "create")
|
|
138
|
+
return [
|
|
139
|
+
"supply sequential task numbers and valid dependencies; previous_plan_archived is assigned by the CLI",
|
|
140
|
+
...base,
|
|
141
|
+
];
|
|
142
|
+
if (artifact === "plan")
|
|
143
|
+
return ["task numbers are assigned by the CLI for append", ...base];
|
|
144
|
+
if (entityHealth && verb === "repair")
|
|
145
|
+
return ["canonical health audit entities are immutable; validate malformed or duplicate ownership with agentera check validate state", ...base];
|
|
146
|
+
if (artifact === "health" && verb === "repair")
|
|
147
|
+
return ["repair is a destructive projection edit; select an existing duplicate audit and pass --force", ...base];
|
|
148
|
+
if (entityArtifact && artifact === "experiments")
|
|
149
|
+
return ["select the owner with its bare ten-letter --objective ID; numeric and composite selectors are unavailable", "omit --id for a new immutable experiment; pass an existing bare --id only for exact replay", ...base];
|
|
150
|
+
if (artifact === "experiments")
|
|
151
|
+
return ["pass the intended non-negative --number; the CLI validates and assigns it to the entry", ...base];
|
|
152
|
+
if (entityArtifact && artifact === "objective" && verb === "update")
|
|
153
|
+
return ["select one objective with its bare ten-letter --id; numeric and composite selectors are unavailable", "the CLI preserves that ID while replacing the validated objective record", ...base];
|
|
154
|
+
if (entityArtifact && artifact === "objective")
|
|
155
|
+
return ["a bare ten-letter objective ID is assigned by the CLI; do not pass an identity", ...base];
|
|
156
|
+
if (entityArtifact && artifact === "todo" && verb !== "create")
|
|
157
|
+
return ["select one TODO item with its bare ten-letter --id; numeric, prefixed, composite, alias, and path identities are unavailable", ...base];
|
|
158
|
+
if (entityArtifact && artifact === "todo")
|
|
159
|
+
return ["a bare ten-letter TODO item ID is assigned by the CLI; status starts open", ...base];
|
|
160
|
+
if (entityArtifact && artifact === "docs" && verb === "update")
|
|
161
|
+
return ["select one documentation inventory entry with its bare ten-letter --id; path remains record data, not identity", ...base];
|
|
162
|
+
if (entityArtifact && artifact === "docs")
|
|
163
|
+
return ["a bare ten-letter documentation inventory ID is assigned by the CLI; path remains record data", ...base];
|
|
164
|
+
if (entityDecisions && verb === "update")
|
|
165
|
+
return [
|
|
166
|
+
"select one base decision with its bare --id; numeric selectors are unavailable",
|
|
167
|
+
"update replaces only that decision's authority-owned satisfaction entity after transition validation",
|
|
168
|
+
...base,
|
|
169
|
+
];
|
|
170
|
+
if (entityDecisions && verb === "amend")
|
|
171
|
+
return [
|
|
172
|
+
"select one base decision with its bare --id and current --base-sha256",
|
|
173
|
+
"supply at least one amendable content field; satisfaction remains a separate mutation",
|
|
174
|
+
"apply publishes one immutable revision entity; identical retries converge and same-base divergence conflicts",
|
|
175
|
+
...base,
|
|
176
|
+
];
|
|
177
|
+
if (artifact === "decisions" && verb === "update")
|
|
178
|
+
return [
|
|
179
|
+
entityDecisions
|
|
180
|
+
? "select an existing decision by bare ID with --id; it is caller-supplied and never assigned by the CLI"
|
|
181
|
+
: "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
|
|
182
|
+
"update writes only satisfaction overlay fields; decision content is amended, not updated",
|
|
183
|
+
...base,
|
|
184
|
+
];
|
|
185
|
+
if (artifact === "decisions" && verb === "amend")
|
|
186
|
+
return [
|
|
187
|
+
entityDecisions
|
|
188
|
+
? "select an existing decision by bare ID with --id; it is caller-supplied and never assigned by the CLI"
|
|
189
|
+
: "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
|
|
190
|
+
"supply at least one amendable content field (--question, --context, --alternative-chosen, --alternative-rejected, --choice, --reasoning, --confidence, --feeds-into)",
|
|
191
|
+
"--alternative-rejected is repeatable and appends one rejected alternative each time it is supplied",
|
|
192
|
+
"confidence must be current vocabulary (firm, provisional, exploratory); unsupported inherited labels on untouched records stay legacy",
|
|
193
|
+
"dry-run reports the exact revision, effective record, and projection effect without writing any file",
|
|
194
|
+
"apply publishes a record-local revision document override with recovery; the decisions projection stays byte-stable and reads compose base→revisions→overlay",
|
|
195
|
+
"an identical re-submission is an idempotent replay; retry converges on a stable revision identity without duplicates or mixed state",
|
|
196
|
+
];
|
|
197
|
+
return [entityArtifact ? "a bare ten-letter ID is assigned by the CLI; do not pass an identity" : "number is assigned by the CLI; do not pass --number", ...base];
|
|
103
198
|
}
|
|
104
|
-
export function exampleFor(artifact, verb) {
|
|
199
|
+
export function exampleFor(artifact, verb, entityDecisions = false, entityArtifact = false) {
|
|
105
200
|
if (artifact === "progress")
|
|
106
201
|
return 'agentera state progress append --type fix --phase build --what "..." --intent "..." --format json';
|
|
107
202
|
if (artifact === "decisions" && verb === "update")
|
|
108
|
-
return
|
|
203
|
+
return entityDecisions
|
|
204
|
+
? 'agentera state decisions update --id qjtrmnpvka --satisfaction-state provisionally_satisfied --satisfaction-evidence "..."'
|
|
205
|
+
: 'agentera state decisions update --number 1 --satisfaction-state provisionally_satisfied --satisfaction-evidence "..."';
|
|
206
|
+
if (artifact === "decisions" && verb === "amend")
|
|
207
|
+
return entityDecisions
|
|
208
|
+
? 'agentera state decisions amend --id qjtrmnpvka --base-sha256 HASH --choice "..." --dry-run --format json'
|
|
209
|
+
: 'agentera state decisions amend --number 53 --choice "..." --reasoning "..." --confidence firm --dry-run --format json';
|
|
109
210
|
if (artifact === "decisions")
|
|
110
211
|
return 'agentera state decisions append --question "..." --context "..." --alternative-chosen "..." --choice "..." --reasoning "..." --confidence firm';
|
|
111
212
|
if (artifact === "health" && verb === "repair")
|
|
112
213
|
return "agentera state health repair --number 14 --keep first --force --format json";
|
|
113
214
|
if (artifact === "health")
|
|
114
215
|
return "agentera state health append --input audit.yaml --format json";
|
|
216
|
+
if (entityArtifact && artifact === "objective" && verb === "create")
|
|
217
|
+
return "agentera state objective create --input objective.yaml --format json";
|
|
218
|
+
if (entityArtifact && artifact === "objective" && verb === "update")
|
|
219
|
+
return "agentera state objective update --id qjtrmnpvka --input objective.yaml --format json";
|
|
220
|
+
if (entityArtifact && artifact === "todo" && verb === "create")
|
|
221
|
+
return 'agentera state todo create --severity normal --description "..." --format json';
|
|
222
|
+
if (entityArtifact && artifact === "todo" && verb === "resolve")
|
|
223
|
+
return "agentera state todo resolve --id qjtrmnpvka --format json";
|
|
224
|
+
if (entityArtifact && artifact === "todo" && verb === "update")
|
|
225
|
+
return 'agentera state todo update --id qjtrmnpvka --description "..." --format json';
|
|
226
|
+
if (entityArtifact && artifact === "docs" && verb === "create")
|
|
227
|
+
return "agentera state docs create --input documentation.yaml --format json";
|
|
228
|
+
if (entityArtifact && artifact === "docs" && verb === "update")
|
|
229
|
+
return "agentera state docs update --id qjtrmnpvka --input documentation.yaml --format json";
|
|
115
230
|
if (verb === "create")
|
|
116
231
|
return "agentera state plan create --input plan.yaml --format json";
|
|
117
232
|
if (verb === "archive")
|
|
118
233
|
return "agentera state plan archive --dry-run";
|
|
119
234
|
if (verb === "update")
|
|
120
|
-
return
|
|
235
|
+
return entityArtifact
|
|
236
|
+
? 'agentera state plan update --id qjtrmnpvka --name "..." --format json'
|
|
237
|
+
: 'agentera state plan update --task 1 --name "..." --format json';
|
|
121
238
|
if (verb === "set-status")
|
|
122
|
-
return
|
|
239
|
+
return entityArtifact
|
|
240
|
+
? "agentera state plan set-status --id qjtrmnpvka --status complete --format json"
|
|
241
|
+
: "agentera state plan set-status --task 1 --status complete --format json";
|
|
123
242
|
if (verb === "set-plan-status")
|
|
124
243
|
return "agentera state plan set-plan-status --status complete --format json";
|
|
125
244
|
if (verb === "record-evaluation")
|
|
126
|
-
return
|
|
245
|
+
return entityArtifact
|
|
246
|
+
? 'agentera state plan record-evaluation --id qjtrmnpvka --attempt-id audit-1 --verdict pass --provenance "audit report" --format json'
|
|
247
|
+
: 'agentera state plan record-evaluation --task 1 --attempt-id audit-1 --verdict pass --provenance "audit report" --format json';
|
|
248
|
+
if (entityArtifact && verb === "publish")
|
|
249
|
+
return "agentera state experiments publish --objective qjtrmnpvka --input experiment.yaml --format json";
|
|
127
250
|
if (verb === "publish")
|
|
128
251
|
return "agentera state experiments publish --objective OBJECTIVE_ID --number 0 --input experiment.yaml --format json";
|
|
129
252
|
return `agentera state plan ${verb} --name "..."`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/state/write/explain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/state/write/explain.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,26 @@ export function schemaViolation(violations) {
|
|
|
5
5
|
export function findByNumber(entries, number) {
|
|
6
6
|
return entries.find((entry) => Number(entry.number) === number);
|
|
7
7
|
}
|
|
8
|
+
/** Coerce an unknown value into a plain mapping, returning `{}` for non-objects. */
|
|
9
|
+
export function mapping(value) {
|
|
10
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
11
|
+
? value
|
|
12
|
+
: {};
|
|
13
|
+
}
|
|
14
|
+
/** Return the object-valued elements of `doc[key]`, dropping non-mapping entries. */
|
|
15
|
+
export function array(doc, key) {
|
|
16
|
+
return Array.isArray(doc[key])
|
|
17
|
+
? doc[key].filter((v) => Boolean(v && typeof v === "object" && !Array.isArray(v)))
|
|
18
|
+
: [];
|
|
19
|
+
}
|
|
20
|
+
/** Traverse a dotted field path into a nested mapping, returning `undefined` on miss. */
|
|
21
|
+
export function mappingPath(entry, field) {
|
|
22
|
+
let value = entry;
|
|
23
|
+
for (const part of field.split(".")) {
|
|
24
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
25
|
+
return undefined;
|
|
26
|
+
value = value[part];
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
8
30
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/state/write/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,eAAe,CAAC,UAAoB;IAClD,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAkC,EAClC,MAAc;IAEd,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;AAClE,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/state/write/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,eAAe,CAAC,UAAoB;IAClD,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAkC,EAClC,MAAc;IAEd,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,KAAK,CAAC,GAA4B,EAAE,GAAW;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAE,GAAG,CAAC,GAAG,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgC,EAAE,CACjE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACzD;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,WAAW,CAAC,KAA8B,EAAE,KAAa;IACvE,IAAI,KAAK,GAAY,KAAK,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAClF,KAAK,GAAI,KAAiC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|