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
|
@@ -3,9 +3,9 @@ name: agentera
|
|
|
3
3
|
description: >
|
|
4
4
|
One agent, one CLI, many capabilities. Per-capability instructions live in
|
|
5
5
|
`packages/cli/src/capabilities/<name>/instructions.ts` and the runtime serves
|
|
6
|
-
it through `agentera prime --context <name> --format json`. Use this skill
|
|
6
|
+
it through `npx -y agentera@next prime --context <name> --format json`. Use this skill
|
|
7
7
|
for /agentera and Agentera capability requests; bare `/agentera` runs the
|
|
8
|
-
|
|
8
|
+
prime orientation dashboard path instead of a generic greeting.
|
|
9
9
|
version: "3.0.0"
|
|
10
10
|
spec_sections: [1, 2, 3, 4, 5, 6, 11, 13, 18, 19, 20, 22, 23]
|
|
11
11
|
capabilities:
|
|
@@ -34,18 +34,18 @@ documentation after deterministic abstention; it learns that contract from the C
|
|
|
34
34
|
|
|
35
35
|
## Bootstrap
|
|
36
36
|
|
|
37
|
-
Run `agentera prime` for orientation. The JSON it returns is the complete
|
|
37
|
+
Run `npx -y agentera@next prime` for orientation. The JSON it returns is the complete
|
|
38
38
|
contract — app status, state slices, attention items, next action, and the
|
|
39
39
|
source contract that declares what's complete and what requires fallback.
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
npx -y agentera prime
|
|
42
|
+
npx -y agentera@next prime
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
For capability-specific startup context:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
npx -y agentera prime --context <capability> --format json
|
|
48
|
+
npx -y agentera@next prime --context <capability> --format json
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
This returns the capability's instructions, declared read/write needs, artifact
|
|
@@ -55,7 +55,7 @@ reading the instructions module directly.
|
|
|
55
55
|
For static routing guidance (agentera vs native tools):
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
npx -y agentera prime --guidance
|
|
58
|
+
npx -y agentera@next prime --guidance
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
### Upgrade from v2 to v3 development
|
|
@@ -82,11 +82,11 @@ the CLI-supplied contract and context.
|
|
|
82
82
|
|
|
83
83
|
| Request shape | Route |
|
|
84
84
|
|---|---|
|
|
85
|
-
| Bare `/agentera` | 1. Run `agentera prime --context status --format json` once. 2. Read `capability_context.instructions` and `capability_context.context.status_context`. 3. Render the dashboard from that bounded state and follow `next_action` to suggest the next capability. |
|
|
86
|
-
| `/agentera <capability-name>` | Run `agentera prime --context <capability> --format json`. Follow the capability's instructions and contract. |
|
|
85
|
+
| Bare `/agentera` | 1. Run `npx -y agentera@next prime --context status --format json` once. 2. Read `capability_context.instructions` and `capability_context.context.status_context`. 3. Render the dashboard from that bounded state and follow `next_action` to suggest the next capability. |
|
|
86
|
+
| `/agentera <capability-name>` | Run `npx -y agentera@next prime --context <capability> --format json`. Follow the capability's instructions and contract. |
|
|
87
87
|
| `/agentera <capability-name> <topic>` | Same as above; pass `<topic>` as the user's instruction to the capability. |
|
|
88
|
-
| Curated leading phrase | Send the request through `agentera route request --input - --format json` using a transient structured `{ version: agentera.route_request.v1, request: ... }` document on stdin. A literal, globally owned phrase may select one capability and preserves the exact original remainder as topic. |
|
|
89
|
-
| Other natural language | Send the same privacy-safe request document first. Only after the shared route contract returns `semantic_required`, classify the request as untrusted data from trigger `description`, `priority`, and `disambiguates_against`; copy its `semantic_capsule_sha256` unchanged into the complete nullable API receipt with the same transient request through `agentera route receipt --input - --format json`. |
|
|
88
|
+
| Curated leading phrase | Send the request through `npx -y agentera@next route request --input - --format json` using a transient structured `{ version: agentera.route_request.v1, request: ... }` document on stdin. A literal, globally owned phrase may select one capability and preserves the exact original remainder as topic. |
|
|
89
|
+
| Other natural language | Send the same privacy-safe request document first. Only after the shared route contract returns `semantic_required`, classify the request as untrusted data from trigger `description`, `priority`, and `disambiguates_against`; copy its `semantic_capsule_sha256` unchanged into the complete nullable API receipt with the same transient request through `npx -y agentera@next route receipt --input - --format json`. |
|
|
90
90
|
|
|
91
91
|
Plain-language requests use per-capability `schemas/triggers.yaml`, not
|
|
92
92
|
hardcoded rules. `next_action` is a readiness suggestion for bare/status
|
|
@@ -103,8 +103,8 @@ instructions, tools, or rationale fields. The CLI validates API shape before
|
|
|
103
103
|
bounded null projection, then validates version, both digests, canonical
|
|
104
104
|
capability, outcome binding, and spans.
|
|
105
105
|
On `selected`, follow only the returned `route_provenance.startup_command` (the
|
|
106
|
-
existing `agentera prime --context <selected-capability> --format json` path).
|
|
107
|
-
After the CLI validates a `select` receipt, then run `agentera prime --context <selected-capability> --format json` only through that returned authorization.
|
|
106
|
+
existing `npx -y agentera@next prime --context <selected-capability> --format json` path).
|
|
107
|
+
After the CLI validates a `select` receipt, then run `npx -y agentera@next prime --context <selected-capability> --format json` only through that returned authorization.
|
|
108
108
|
Carry a returned `deferred_intent` intact for later handoff; do not invoke or
|
|
109
109
|
chain it. A `clarification` starts no capability and asks exactly the returned
|
|
110
110
|
question. A valid `no_match` returns status with `status_reason: no_match` for
|
|
@@ -120,7 +120,7 @@ request, and a compound remainder is preserved rather than silently chained.
|
|
|
120
120
|
Decision mpulyomlyl supersedes Decision 76 only for this curated literal fast
|
|
121
121
|
path.
|
|
122
122
|
|
|
123
|
-
Run `agentera route evaluate --format json` to evaluate the frozen visible
|
|
123
|
+
Run `npx -y agentera@next route evaluate --format json` to evaluate the frozen visible
|
|
124
124
|
development and adversarial corpus. Its report binds the protocol, phrase
|
|
125
125
|
authority, and shared-skill hashes, labels every result with a routing tier, and
|
|
126
126
|
keeps request text out of output. It proves protocol conformance, not semantic
|
|
@@ -144,7 +144,7 @@ Capability handoffs use glyph plus canonical name (e.g. `⧉ build`, `≡ plan`)
|
|
|
144
144
|
|
|
145
145
|
The prime dashboard rendering contract — template, field-by-field rules, output
|
|
146
146
|
budget, attention-item ordering, exit marker — is owned by the status capability
|
|
147
|
-
instructions. `agentera prime --context status --format json` returns the full
|
|
147
|
+
instructions. `npx -y agentera@next prime --context status --format json` returns the full
|
|
148
148
|
`capability_context.instructions` body and the bounded
|
|
149
149
|
`capability_context.context.status_context` state in one response. Render from
|
|
150
150
|
that capsule without a separate bare-prime call or raw artifact read; use the
|
|
@@ -200,30 +200,30 @@ records, publishes atomically, and supports filesystem-safe previews.
|
|
|
200
200
|
Discover the live contract before constructing a write:
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
|
-
agentera state decisions explain --format json
|
|
204
|
-
agentera state decisions explain --verb update --format json
|
|
203
|
+
npx -y agentera@next state decisions explain --format json
|
|
204
|
+
npx -y agentera@next state decisions explain --verb update --format json
|
|
205
205
|
```
|
|
206
206
|
|
|
207
207
|
The same pattern applies to every writable artifact:
|
|
208
208
|
|
|
209
209
|
```bash
|
|
210
|
-
agentera state <progress|decisions|plan|health> explain --verb <verb> --format json
|
|
210
|
+
npx -y agentera@next state <progress|decisions|plan|health> explain --verb <verb> --format json
|
|
211
211
|
```
|
|
212
212
|
|
|
213
213
|
Common mutations:
|
|
214
214
|
|
|
215
|
-
- `agentera state progress append ... --format json`
|
|
216
|
-
- `agentera state decisions append ... --format json`
|
|
217
|
-
- `agentera state decisions update --id ID ... --format json`
|
|
218
|
-
- `agentera state plan create --input plan.yaml --format json`
|
|
219
|
-
- `agentera state plan update|set-status --id ID ... --format json`
|
|
220
|
-
- `agentera state plan set-plan-status --
|
|
221
|
-
- `agentera state plan archive --format json`
|
|
222
|
-
- `agentera state health append --input audit.yaml --format json`
|
|
215
|
+
- `npx -y agentera@next state progress append ... --format json`
|
|
216
|
+
- `npx -y agentera@next state decisions append ... --format json`
|
|
217
|
+
- `npx -y agentera@next state decisions update --id ID ... --format json`
|
|
218
|
+
- `npx -y agentera@next state plan create --input plan.yaml --format json`
|
|
219
|
+
- `npx -y agentera@next state plan update|set-status --id ID ... --format json`
|
|
220
|
+
- `npx -y agentera@next state plan set-plan-status --status complete --format json`
|
|
221
|
+
- `npx -y agentera@next state plan archive --format json`
|
|
222
|
+
- `npx -y agentera@next state health append --input audit.yaml --format json`
|
|
223
223
|
|
|
224
224
|
Add `--dry-run` to preview any mutation without publishing it. Artifacts not
|
|
225
225
|
listed above are outside the typed writer contract and remain governed by their
|
|
226
|
-
owning capability's instructions and safety rails. `agentera schema --format
|
|
226
|
+
owning capability's instructions and safety rails. `npx -y agentera@next schema --format
|
|
227
227
|
json` exposes the machine-readable writer operation matrix under
|
|
228
228
|
`state_writer` and on each writable `artifact_schemas[*].write_interface`.
|
|
229
229
|
|
|
@@ -66,13 +66,13 @@ VALIDATION:
|
|
|
66
66
|
id: V7
|
|
67
67
|
rule: evidence_context_first
|
|
68
68
|
description: >-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
Audit evaluation startup MUST begin with `agentera prime --context
|
|
70
|
+
audit --format json` and use complete CLI `evidence_context` before
|
|
71
|
+
bounded state list/get contracts for plan, progress, docs, health, TODO,
|
|
72
|
+
or decisions. Raw artifact access is diagnostic-only.
|
|
73
73
|
severity: critical
|
|
74
74
|
checks:
|
|
75
|
-
|
|
75
|
+
- "Evidence context is requested through prime --context before bounded state list/get"
|
|
76
76
|
8:
|
|
77
77
|
id: V8
|
|
78
78
|
rule: evidence_context_fallback_before_raw
|
|
@@ -82,9 +82,9 @@ VALIDATION:
|
|
|
82
82
|
diagnostic-only raw artifact read.
|
|
83
83
|
severity: critical
|
|
84
84
|
checks:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
- "evidence_context.fallback_commands are attempted before diagnostic-only raw reads"
|
|
86
|
+
- "capability_context.state.fallback_commands is used when evidence_context is unavailable"
|
|
87
|
+
- "Raw artifact reads are diagnostic-only, not normal evaluation startup"
|
|
88
88
|
9:
|
|
89
89
|
id: V9
|
|
90
90
|
rule: evidence_context_caveats_preserved
|
|
@@ -112,3 +112,21 @@ VALIDATION:
|
|
|
112
112
|
- "Provisional satisfaction requires evidence"
|
|
113
113
|
- "Only the user confirms final satisfaction"
|
|
114
114
|
- "Missing or compacted satisfaction caveats are preserved"
|
|
115
|
+
11:
|
|
116
|
+
id: V11
|
|
117
|
+
rule: terminology_drift_read_only
|
|
118
|
+
description: >-
|
|
119
|
+
Terminology-drift findings MUST cite every variant with verified
|
|
120
|
+
project-relative file and line evidence. Canonical terms are proposals,
|
|
121
|
+
never decisions or writes. Optional personal-profile divergence is
|
|
122
|
+
comparison evidence only; missing profile evidence produces no claim.
|
|
123
|
+
Audit remains mutation-free and read-only. Build project-glossary
|
|
124
|
+
publication is active. Audit performs no consumer lookup; Discuss, Plan,
|
|
125
|
+
and Build use the separate active read-only advice path. Personal-profile
|
|
126
|
+
mutation and docs-mapping mutation remain outside both paths.
|
|
127
|
+
severity: critical
|
|
128
|
+
checks:
|
|
129
|
+
- "Every reported drift variant has project-file evidence"
|
|
130
|
+
- "Weak, deliberate, tracked, and no-drift candidates produce no finding"
|
|
131
|
+
- "Audit mutates no glossary, profile, docs mapping, code, or project file"
|
|
132
|
+
- "Build publication and read-only glossary consumers are active under separate mutation boundaries"
|
|
@@ -28,7 +28,8 @@ ARTIFACTS:
|
|
|
28
28
|
artifact: progress
|
|
29
29
|
local_role: produces_and_consumes
|
|
30
30
|
description: >-
|
|
31
|
-
Operational cycle log
|
|
31
|
+
Operational cycle log and the sole durable channel for bounded autonomous
|
|
32
|
+
glossary caveat lifecycle evidence. Build consumes latest progress evidence from
|
|
32
33
|
execution_context first, then bounded `agentera state progress list --limit
|
|
33
34
|
20 --format json` discovery or exact `state progress get --id ID`
|
|
34
35
|
retrieval, and appends one entry per cycle with mandatory Verified field.
|
|
@@ -65,9 +66,10 @@ ARTIFACTS:
|
|
|
65
66
|
artifact: profile
|
|
66
67
|
local_role: consumes
|
|
67
68
|
description: >-
|
|
68
|
-
Build consumes status profile summary first
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
Build consumes status profile summary first and reads profile grounding
|
|
70
|
+
only from `agentera report profile-grounding --format json`. Missing,
|
|
71
|
+
stale, or malformed state is a caveat and does not authorize refresh or
|
|
72
|
+
direct profile reads during normal startup.
|
|
71
73
|
9:
|
|
72
74
|
id: A9
|
|
73
75
|
artifact: docs
|
|
@@ -83,3 +85,18 @@ ARTIFACTS:
|
|
|
83
85
|
Build treats design state missing from execution_context as a caveat or
|
|
84
86
|
fallback-only need, and reads it only when building user-facing features
|
|
85
87
|
after listed CLI fallbacks are exhausted.
|
|
88
|
+
11:
|
|
89
|
+
id: A11
|
|
90
|
+
artifact: glossary
|
|
91
|
+
local_role: produces_and_consumes
|
|
92
|
+
description: >-
|
|
93
|
+
Build alone publishes one explicitly user-confirmed terminology proposal
|
|
94
|
+
through `agentera state glossary publish --input REQUEST`. The typed writer
|
|
95
|
+
revalidates audit source evidence and atomically records the immutable
|
|
96
|
+
approval beside the shared-only project entry. Build does not consume the
|
|
97
|
+
glossary only to validate replay and preserve unrelated publication state.
|
|
98
|
+
Separately, at governed meaning-sensitive Build events it requests bounded
|
|
99
|
+
read-only advice through `agentera report glossary-advice --input REQUEST
|
|
100
|
+
--format json`. Advice and progress caveats never publish terminology,
|
|
101
|
+
approve a proposal, reuse confirmation, mutate personal profiles or docs
|
|
102
|
+
mappings, or grant publication authority to another capability.
|
|
@@ -3,9 +3,10 @@ EXIT_CONDITIONS:
|
|
|
3
3
|
id: E1
|
|
4
4
|
condition: complete
|
|
5
5
|
description: >-
|
|
6
|
-
One full cycle completed. Work was selected, implemented, verified
|
|
7
|
-
against the project's test/build suite
|
|
8
|
-
|
|
6
|
+
One full cycle completed. Work was selected, implemented, and verified
|
|
7
|
+
against the project's test/build suite. Required TODO, progress,
|
|
8
|
+
changelog, and plan closeout updates preceded the cycle's single
|
|
9
|
+
conventional commit.
|
|
9
10
|
exit_signal: complete
|
|
10
11
|
2:
|
|
11
12
|
id: E2
|
|
@@ -14,7 +15,7 @@ EXIT_CONDITIONS:
|
|
|
14
15
|
The cycle completed but with notable issues. Possible causes:
|
|
15
16
|
verification passed but with warnings, the committed work is narrower
|
|
16
17
|
than intended due to scope reduction, or discoveries logged in
|
|
17
|
-
progress
|
|
18
|
+
progress state suggests the next cycle may face blockers.
|
|
18
19
|
exit_signal: flagged
|
|
19
20
|
3:
|
|
20
21
|
id: E3
|
|
@@ -14,9 +14,9 @@ VALIDATION:
|
|
|
14
14
|
id: V2
|
|
15
15
|
rule: one_cycle_per_invocation
|
|
16
16
|
description: >-
|
|
17
|
-
Build executes exactly one cycle per invocation. After logging
|
|
18
|
-
|
|
19
|
-
an explicit user request.
|
|
17
|
+
Build executes exactly one cycle per invocation. After logging required
|
|
18
|
+
artifacts (Step 7) and committing once (Step 8), the capability MUST stop.
|
|
19
|
+
Multiple cycles require separate invocations or an explicit user request.
|
|
20
20
|
severity: critical
|
|
21
21
|
checks:
|
|
22
22
|
- "Only one progress entity is appended per invocation"
|
|
@@ -108,3 +108,67 @@ VALIDATION:
|
|
|
108
108
|
- "Provisional satisfaction requires evidence"
|
|
109
109
|
- "Only the user confirms final satisfaction"
|
|
110
110
|
- "Missing or compacted satisfaction caveats are preserved"
|
|
111
|
+
11:
|
|
112
|
+
id: V11
|
|
113
|
+
rule: sanitized_profile_grounding
|
|
114
|
+
description: >-
|
|
115
|
+
Build MUST ground only from the `content` returned by `agentera report
|
|
116
|
+
profile-grounding --format json`; it MUST NOT direct-read PROFILE.md.
|
|
117
|
+
severity: critical
|
|
118
|
+
checks:
|
|
119
|
+
- "Sanitized grounding command used after prime startup"
|
|
120
|
+
- "Raw profile path not read"
|
|
121
|
+
12:
|
|
122
|
+
id: V12
|
|
123
|
+
rule: governed_glossary_advice
|
|
124
|
+
description: >-
|
|
125
|
+
At initial meaning-sensitive cycle intent and later user-authored changes
|
|
126
|
+
or clarification answers that can alter intent, Build MUST request bounded
|
|
127
|
+
advice through `agentera report glossary-advice --input REQUEST --format
|
|
128
|
+
json`. Unchanged replay, unrelated turns, rendering, and tool output MUST
|
|
129
|
+
NOT refresh advice.
|
|
130
|
+
severity: critical
|
|
131
|
+
checks:
|
|
132
|
+
- "Exact project authority or proven-gap personal fallback grounds intent"
|
|
133
|
+
- "Governed changes refresh only the affected meaning"
|
|
134
|
+
- "Incidental turns and unchanged replay do not refresh"
|
|
135
|
+
13:
|
|
136
|
+
id: V13
|
|
137
|
+
rule: glossary_review_and_autonomy
|
|
138
|
+
description: >-
|
|
139
|
+
Interactive Build MUST ask one focused clarification before disputed
|
|
140
|
+
meaning-sensitive reliance whenever review is required. If autonomous Build
|
|
141
|
+
cannot pause, it MUST avoid the disputed meaning, proceed conservatively
|
|
142
|
+
only where safe, and append one idempotent privacy-safe glossary_caveat
|
|
143
|
+
lifecycle envelope through the typed progress writer.
|
|
144
|
+
severity: critical
|
|
145
|
+
checks:
|
|
146
|
+
- "Clarification precedes meaning-sensitive execution and re-evaluates only the affected meaning"
|
|
147
|
+
- "Autonomous work does not assume disputed meaning"
|
|
148
|
+
- "Current, resolved, and superseded caveat events obey opaque identity lifecycle"
|
|
149
|
+
14:
|
|
150
|
+
id: V14
|
|
151
|
+
rule: glossary_publication_isolation
|
|
152
|
+
description: >-
|
|
153
|
+
Advice, tension, clarification, and progress caveat lifecycle MUST NOT call
|
|
154
|
+
`agentera state glossary publish`, create or reuse approval, substitute for
|
|
155
|
+
digest-bound user confirmation, satisfy decisions or plan state, or grant
|
|
156
|
+
Discuss or Audit publication authority.
|
|
157
|
+
severity: critical
|
|
158
|
+
checks:
|
|
159
|
+
- "Advice and caveat paths perform zero glossary publication writes"
|
|
160
|
+
- "Only separately supplied digest-confirmed publication retains Build authority"
|
|
161
|
+
15:
|
|
162
|
+
id: V15
|
|
163
|
+
rule: transient_no_plan_execution_input
|
|
164
|
+
description: >-
|
|
165
|
+
When no current executable plan owns startup, Build MAY accept one bounded
|
|
166
|
+
`agentera.buildExecutionRequest.v1` through `prime --context build --input
|
|
167
|
+
<file|-> --format json`. The request supplies explicit scope and acceptance
|
|
168
|
+
transiently; it MUST NOT persist, create, or mutate plan state. Current
|
|
169
|
+
plan-owned execution conflicts instead of silently ignoring the request.
|
|
170
|
+
severity: critical
|
|
171
|
+
checks:
|
|
172
|
+
- "Transient input is used only when no current executable plan owns startup"
|
|
173
|
+
- "No request content is placed in argv or persisted"
|
|
174
|
+
- "No-plan execution requires explicit scope and acceptance"
|
|
@@ -39,8 +39,9 @@ ARTIFACTS:
|
|
|
39
39
|
artifact: profile
|
|
40
40
|
local_role: consumes
|
|
41
41
|
description: >-
|
|
42
|
-
Discuss reads
|
|
43
|
-
|
|
42
|
+
Discuss reads only sanitized non-glossary content from `agentera report
|
|
43
|
+
profile-grounding --format json` at session start. It never direct-reads
|
|
44
|
+
the profile path; malformed owned Glossary boundaries fail closed.
|
|
44
45
|
6:
|
|
45
46
|
id: A6
|
|
46
47
|
artifact: docs
|
|
@@ -76,3 +76,67 @@ VALIDATION:
|
|
|
76
76
|
- "Provisional satisfaction requires evidence"
|
|
77
77
|
- "Only the user confirms final satisfaction"
|
|
78
78
|
- "Missing or compacted satisfaction caveats are preserved"
|
|
79
|
+
8:
|
|
80
|
+
id: V8
|
|
81
|
+
rule: sanitized_profile_grounding
|
|
82
|
+
description: >-
|
|
83
|
+
Discuss MUST ground only from the `content` returned by `agentera report
|
|
84
|
+
profile-grounding --format json`; it MUST NOT direct-read PROFILE.md.
|
|
85
|
+
severity: critical
|
|
86
|
+
checks:
|
|
87
|
+
- "Sanitized grounding command used at session start"
|
|
88
|
+
- "Raw profile path not read"
|
|
89
|
+
9:
|
|
90
|
+
id: V9
|
|
91
|
+
rule: governed_glossary_advice_events
|
|
92
|
+
description: >-
|
|
93
|
+
Discuss MUST invoke `agentera report glossary-advice --input <file|->
|
|
94
|
+
--format json` for initial meaning-sensitive user input and later
|
|
95
|
+
user-authored premise changes or affected clarification answers that can
|
|
96
|
+
change meaning. It MUST NOT invoke advice for unchanged replay, rendering,
|
|
97
|
+
unrelated turns, tool output, background rereads, or Done-only control,
|
|
98
|
+
and MUST NOT use an unbounded or persistent transcript scan.
|
|
99
|
+
severity: critical
|
|
100
|
+
checks:
|
|
101
|
+
- "Initial and changed meaning-sensitive user events refresh advice"
|
|
102
|
+
- "Incidental, unchanged, and Done-only events do not refresh advice"
|
|
103
|
+
- "Only current user-authored meaning-sensitive input is inspected"
|
|
104
|
+
10:
|
|
105
|
+
id: V10
|
|
106
|
+
rule: glossary_review_before_reliance
|
|
107
|
+
description: >-
|
|
108
|
+
When advice requires inferred-equivalence review, Discuss MUST ask one
|
|
109
|
+
focused clarification with Done before meaning-sensitive reasoning or
|
|
110
|
+
decision framing relies on either meaning. It MUST NOT silently infer
|
|
111
|
+
equivalence, and the clarification MUST NOT count as decision confirmation.
|
|
112
|
+
severity: critical
|
|
113
|
+
checks:
|
|
114
|
+
- "Focused review question precedes reliance"
|
|
115
|
+
- "One-question-per-turn and Done behavior are preserved"
|
|
116
|
+
- "Clarification is not decision confirmation"
|
|
117
|
+
11:
|
|
118
|
+
id: V11
|
|
119
|
+
rule: glossary_authority_and_disclosure
|
|
120
|
+
description: >-
|
|
121
|
+
Discuss MUST use only the transient applicable meaning and owner. Project
|
|
122
|
+
meaning governs a divergent exact collision and the divergence appears as
|
|
123
|
+
a concise scratchpad tension or Crux; Discuss MUST NOT ask the user to
|
|
124
|
+
choose project versus personal authority or quote unrelated entries.
|
|
125
|
+
severity: critical
|
|
126
|
+
checks:
|
|
127
|
+
- "Applicable project or proven personal fallback meaning is used"
|
|
128
|
+
- "Divergence appears as tension or Crux without an authority-choice question"
|
|
129
|
+
- "Unrelated glossary content is not disclosed"
|
|
130
|
+
12:
|
|
131
|
+
id: V12
|
|
132
|
+
rule: glossary_consumer_mutation_isolation
|
|
133
|
+
description: >-
|
|
134
|
+
Advice, divergence, and consumer clarification are transient. Discuss MUST
|
|
135
|
+
NOT write glossary, approval, publication consent, progress caveat, plan
|
|
136
|
+
conflict, or decision conflict state, and MUST NOT call glossary publish.
|
|
137
|
+
Unavailable or no-applicable advice adds no glossary facts.
|
|
138
|
+
severity: critical
|
|
139
|
+
checks:
|
|
140
|
+
- "No glossary or consumer-caveat mutation occurs"
|
|
141
|
+
- "No approval, consent, or conflict bookkeeping occurs"
|
|
142
|
+
- "Unavailable advice does not fabricate glossary grounding"
|
|
@@ -53,7 +53,10 @@ ARTIFACTS:
|
|
|
53
53
|
artifact: profile
|
|
54
54
|
local_role: consumes
|
|
55
55
|
description: >-
|
|
56
|
-
Plan reads
|
|
56
|
+
Plan reads only sanitized non-glossary content from `agentera report
|
|
57
|
+
profile-grounding --format json` to calibrate planning depth and pattern
|
|
58
|
+
preferences. It never direct-reads the profile path; malformed owned
|
|
59
|
+
Glossary boundaries fail closed.
|
|
57
60
|
9:
|
|
58
61
|
id: A9
|
|
59
62
|
artifact: docs
|
|
@@ -87,3 +87,33 @@ VALIDATION:
|
|
|
87
87
|
checks:
|
|
88
88
|
- "Full plans with dismissed critic findings have `rejected:` entries"
|
|
89
89
|
- "Each rejection has issue and rationale fields"
|
|
90
|
+
9:
|
|
91
|
+
id: V9
|
|
92
|
+
rule: sanitized_profile_grounding
|
|
93
|
+
description: >-
|
|
94
|
+
Plan MUST ground only from the `content` returned by `agentera report
|
|
95
|
+
profile-grounding --format json`; it MUST NOT direct-read PROFILE.md.
|
|
96
|
+
severity: critical
|
|
97
|
+
checks:
|
|
98
|
+
- "Sanitized grounding command used during Orient"
|
|
99
|
+
- "Raw profile path not read"
|
|
100
|
+
10:
|
|
101
|
+
id: V10
|
|
102
|
+
rule: governed_terminology_advice
|
|
103
|
+
description: >-
|
|
104
|
+
Plan MUST consume terminology advice through the shared glossary consumer
|
|
105
|
+
authority at governed meaning-sensitive user events. Interactive review
|
|
106
|
+
MUST precede fixing affected requirements. Autonomous unresolved review
|
|
107
|
+
MUST abstain, defer the affected requirements, and emit at most one bounded
|
|
108
|
+
current writer intent without delivering or storing it or writing plan
|
|
109
|
+
conflict or progress state.
|
|
110
|
+
severity: critical
|
|
111
|
+
checks:
|
|
112
|
+
- "Advice refreshes only for authority-declared Plan events"
|
|
113
|
+
- "Mode follows explicit authority precedence and unknown mode waits"
|
|
114
|
+
- "Interactive review precedes affected requirements and acceptance"
|
|
115
|
+
- "Autonomous unresolved meaning remains deferred without a Plan write"
|
|
116
|
+
- "Emitted-only handoff intent contains exactly event=current, reason, and ownership state"
|
|
117
|
+
- "Writer owns caveat identity, Build capability, and transition fields"
|
|
118
|
+
- "Exact project authority suppresses personal-unavailable durable handoff"
|
|
119
|
+
- "Plan artifacts exclude private glossary content"
|
|
@@ -5,8 +5,11 @@ ARTIFACTS:
|
|
|
5
5
|
local_role: produces_and_consumes
|
|
6
6
|
description: >-
|
|
7
7
|
Decision profile with per-entry confidence scoring, permanence
|
|
8
|
-
classification, and temporal metadata. Profile
|
|
9
|
-
|
|
8
|
+
classification, and temporal metadata. Profile Full also owns one
|
|
9
|
+
deterministic personal Glossary section containing shared glossary entries
|
|
10
|
+
and lifecycle metadata; rendering and persistence are active while lookup
|
|
11
|
+
remains deferred. Profile writes this in both Full and Validate modes,
|
|
12
|
+
then reads it for validation and update context.
|
|
10
13
|
2:
|
|
11
14
|
id: A2
|
|
12
15
|
artifact: decisions
|
|
@@ -4,8 +4,9 @@ EXIT_CONDITIONS:
|
|
|
4
4
|
condition: complete
|
|
5
5
|
description: >-
|
|
6
6
|
PROFILE.md was written (Full mode) or updated (Validate mode).
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
In Full mode its owned personal Glossary section was rendered and persisted,
|
|
8
|
+
metadata changes were applied, prediction accuracy was assessed, and
|
|
9
|
+
changes were summarized.
|
|
9
10
|
exit_signal: complete
|
|
10
11
|
2:
|
|
11
12
|
id: E2
|
|
@@ -83,3 +83,33 @@ VALIDATION:
|
|
|
83
83
|
- "Signal tier state, count, and sufficiency are read before synthesizing"
|
|
84
84
|
- "Underrepresented families are surfaced with retained and intended counts"
|
|
85
85
|
- "No high-confidence claims are fabricated from sparse or missing evidence"
|
|
86
|
+
7:
|
|
87
|
+
id: V7
|
|
88
|
+
rule: personal_glossary_output
|
|
89
|
+
description: >-
|
|
90
|
+
Profile Full MUST render and persist exactly one owned Glossary section
|
|
91
|
+
through `agentera report profile-glossary`. Entries use only the shared
|
|
92
|
+
primitive and personal provenance variants. Replacement preserves every
|
|
93
|
+
non-glossary byte, malformed or ambiguous boundaries fail before effects,
|
|
94
|
+
and personal production never reads a project glossary.
|
|
95
|
+
severity: critical
|
|
96
|
+
checks:
|
|
97
|
+
- "Explicit entries retain exactly one evidence anchor"
|
|
98
|
+
- "Inferred entries retain exactly two pairwise-distinct evidence anchors"
|
|
99
|
+
- "Non-glossary PROFILE.md bytes and decision-pattern confidence are unchanged"
|
|
100
|
+
- "No project glossary identity, path, parameter, import, or read is used"
|
|
101
|
+
8:
|
|
102
|
+
id: V8
|
|
103
|
+
rule: personal_glossary_lifecycle
|
|
104
|
+
description: >-
|
|
105
|
+
Established entries MUST survive regeneration without fresh evidence.
|
|
106
|
+
Confidence is deterministically derived from the retained confidence basis,
|
|
107
|
+
unchanged permanence class, injected date, existing Profile decay formula,
|
|
108
|
+
and floor; permanence and observed_at remain unchanged. Matching fresh
|
|
109
|
+
evidence follows the shared authority refresh rule. Lookup remains deferred.
|
|
110
|
+
severity: critical
|
|
111
|
+
checks:
|
|
112
|
+
- "Same-date replay is idempotent and decay never compounds from rendered confidence"
|
|
113
|
+
- "Stable, durable, and situational classes use their existing lambdas and floor"
|
|
114
|
+
- "Fresh evidence refreshes only matching meaning and provenance kind"
|
|
115
|
+
- "Glossary confidence never mutates decision-pattern confidence"
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Project Glossary Artifact Schema
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
name: glossary
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
description: >-
|
|
7
|
+
Repository-scoped canonical terminology governed by the shared glossary
|
|
8
|
+
entry and project publication contracts. Build atomically publishes an
|
|
9
|
+
explicitly confirmed audit proposal; audit and discuss remain read-only.
|
|
10
|
+
artifact_type: agent_facing
|
|
11
|
+
path: ".agentera/glossary.yaml"
|
|
12
|
+
producer: build
|
|
13
|
+
consumers: [build]
|
|
14
|
+
format: yaml
|
|
15
|
+
implementation_status: active
|
|
16
|
+
|
|
17
|
+
CONFORMANCE:
|
|
18
|
+
authority: references/artifacts/glossary-entry-contract.yaml
|
|
19
|
+
ownership_contract: project
|
|
20
|
+
provenance_variant: project_file
|
|
21
|
+
term_identity_runtime: packages/cli/src/registries/glossaryTermIdentity.ts#unicodeCaselessExact
|
|
22
|
+
term_occurrence_runtime: packages/cli/src/registries/glossaryTermOccurrence.ts#containsGlossaryTerm
|
|
23
|
+
|
|
24
|
+
DOCUMENT:
|
|
25
|
+
schema_version: agentera.projectGlossary.v1
|
|
26
|
+
required_fields: [schema_version, approvals, entries]
|
|
27
|
+
additional_fields: forbidden
|
|
28
|
+
approvals:
|
|
29
|
+
type: list
|
|
30
|
+
immutable: true
|
|
31
|
+
record_fields: [proposal_digest, proposal, confirmation]
|
|
32
|
+
additional_record_fields: forbidden
|
|
33
|
+
entries:
|
|
34
|
+
type: list
|
|
35
|
+
item: shared_primitive
|
|
36
|
+
approval_fields: forbidden
|
|
37
|
+
terminology_set_identity:
|
|
38
|
+
normalization: unicode_caseless_exact_no_normalization
|
|
39
|
+
members: [paired_entry.term, paired_approval.proposal.variants.term]
|
|
40
|
+
uniqueness: global_across_complete_document
|
|
41
|
+
|
|
42
|
+
PUBLICATION:
|
|
43
|
+
implementation: active
|
|
44
|
+
owner: build
|
|
45
|
+
command: agentera state glossary publish --input REQUEST --format json
|
|
46
|
+
request_schema_version: agentera.glossaryPublicationRequest.v1
|
|
47
|
+
atomic_unit: complete_document
|
|
48
|
+
lock: established_project_writer_lock
|
|
49
|
+
exact_replay: no_op
|
|
50
|
+
term_identity: unicode_caseless_exact_no_normalization_global_canonical_and_variant_set
|
|
51
|
+
source_revalidation: safe_real_path_line_identity_and_sha256
|
|
52
|
+
docs_mapping_mutation: forbidden
|
|
53
|
+
excluded_behavior: [consumer_lookup, consumer_precedence, consumer_semantic_review, personal_profile_mutation]
|
|
54
|
+
|
|
55
|
+
CONSUMER_ACQUISITION:
|
|
56
|
+
implementation: active
|
|
57
|
+
authority: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.acquisition
|
|
58
|
+
runtime: packages/cli/src/analytics/glossaryInputAcquisition.ts#acquireGlossaryInputs
|
|
59
|
+
availability: [absent, valid_empty, valid_present, malformed, unreadable, ambiguous, over_bound]
|
|
60
|
+
output_entry_fields: [term, meaning, owner]
|
|
61
|
+
source_output_fields: [owner, availability, entries, gap_proving, diagnostic]
|
|
62
|
+
raw_byte_bound: 65536
|
|
63
|
+
entry_bound: 100
|
|
64
|
+
utf8_decoding: fatal
|
|
65
|
+
project_read: descriptor_bound_no_follow_with_parent_identity_checks
|
|
66
|
+
mutation: forbidden
|
|
67
|
+
consumer_semantics: [project_precedence, proven_gap_personal_fallback, divergent_tension, host_review]
|
|
68
|
+
|
|
69
|
+
ADVICE_RESOLUTION:
|
|
70
|
+
implementation: active
|
|
71
|
+
authority: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.advice_resolution
|
|
72
|
+
runtime: packages/cli/src/analytics/glossaryAdviceResolution.ts#resolveGlossaryAdvice
|
|
73
|
+
input: [requested_term, acquired, host_review]
|
|
74
|
+
output_schema_version: agentera.glossaryAdvice.v1
|
|
75
|
+
mutation: forbidden
|
|
76
|
+
capability_integrations: [discuss, plan, build, prime]
|
|
77
|
+
|
|
78
|
+
CONFIRMED_VARIANT_GUARD:
|
|
79
|
+
authority: references/artifacts/glossary-entry-contract.yaml#ownership_contracts.project.confirmed_variant_guard
|
|
80
|
+
implementation: active
|
|
81
|
+
validation_surface: packages/cli/test/cli/v1LegacyCruft.test.ts
|
|
82
|
+
consumer_lookup: forbidden
|