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.
Files changed (196) hide show
  1. package/bundle/CHANGELOG.md +75 -5
  2. package/bundle/references/adapters/package-publication.json +43 -0
  3. package/bundle/references/adapters/package-surface-characterization.md +12 -0
  4. package/bundle/references/analysis/evidence-tier-authority.yaml +23 -21
  5. package/bundle/references/analysis/verification-policy.yaml +1 -0
  6. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +11 -2
  7. package/bundle/references/artifacts/glossary-entry-contract.yaml +1241 -0
  8. package/bundle/references/artifacts/state-storage-authority.yaml +149 -80
  9. package/bundle/references/cli/agent-ready-state-contract.yaml +84 -2
  10. package/bundle/references/cli/audience-namespace-cli-migration.yaml +12 -1
  11. package/bundle/references/cli/prime-consumer-compatibility.yaml +7 -1
  12. package/bundle/skills/agentera/SKILL.md +26 -26
  13. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +26 -8
  14. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +21 -4
  15. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +5 -4
  16. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +67 -3
  17. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +3 -2
  18. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +64 -0
  19. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +4 -1
  20. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +30 -0
  21. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +5 -2
  22. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +3 -2
  23. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +30 -0
  24. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
  25. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +19 -4
  26. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +92 -0
  27. package/dist/analytics/extractCorpus/evidenceTiers.js +46 -3
  28. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
  29. package/dist/analytics/extractCorpus/tierReader.js +1 -1
  30. package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
  31. package/dist/analytics/glossaryAdviceResolution.js +167 -0
  32. package/dist/analytics/glossaryAdviceResolution.js.map +1 -0
  33. package/dist/analytics/glossaryInputAcquisition.js +320 -0
  34. package/dist/analytics/glossaryInputAcquisition.js.map +1 -0
  35. package/dist/analytics/personalGlossaryAdmission.js +134 -0
  36. package/dist/analytics/personalGlossaryAdmission.js.map +1 -0
  37. package/dist/analytics/personalGlossaryProfile.js +219 -0
  38. package/dist/analytics/personalGlossaryProfile.js.map +1 -0
  39. package/dist/audit/terminologyDrift.js +282 -0
  40. package/dist/audit/terminologyDrift.js.map +1 -0
  41. package/dist/capabilities/audit/instructions.js +2 -1
  42. package/dist/capabilities/audit/instructions.js.map +1 -1
  43. package/dist/capabilities/build/instructions.js +41 -2
  44. package/dist/capabilities/build/instructions.js.map +1 -1
  45. package/dist/capabilities/discuss/instructions.js +14 -1
  46. package/dist/capabilities/discuss/instructions.js.map +1 -1
  47. package/dist/capabilities/index.js +1 -1
  48. package/dist/capabilities/index.js.map +1 -1
  49. package/dist/capabilities/orchestrate/instructions.js +2 -2
  50. package/dist/capabilities/plan/instructions.js +19 -2
  51. package/dist/capabilities/plan/instructions.js.map +1 -1
  52. package/dist/capabilities/profile/instructions.js +67 -1
  53. package/dist/capabilities/profile/instructions.js.map +1 -1
  54. package/dist/cli/capabilityContext/bespoke.js +4 -3
  55. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  56. package/dist/cli/capabilityContext/build.js +77 -24
  57. package/dist/cli/capabilityContext/build.js.map +1 -1
  58. package/dist/cli/capabilityContext/closeout.js +2 -2
  59. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  60. package/dist/cli/capabilityContext/evidence.js +2 -6
  61. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  62. package/dist/cli/capabilityContext/planState.js +59 -78
  63. package/dist/cli/capabilityContext/planState.js.map +1 -1
  64. package/dist/cli/capabilityContext/projectVerification.js +410 -0
  65. package/dist/cli/capabilityContext/projectVerification.js.map +1 -0
  66. package/dist/cli/capabilityContext/startup.js +21 -4
  67. package/dist/cli/capabilityContext/startup.js.map +1 -1
  68. package/dist/cli/commands/glossaryAdvice.js +139 -0
  69. package/dist/cli/commands/glossaryAdvice.js.map +1 -0
  70. package/dist/cli/commands/personalGlossary.js +177 -0
  71. package/dist/cli/commands/personalGlossary.js.map +1 -0
  72. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  73. package/dist/cli/commands/prime/buildExecutionRequest.js.map +1 -0
  74. package/dist/cli/commands/prime/collectEntityOrientation.js +18 -2
  75. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  76. package/dist/cli/commands/prime/collectOrientationState.js +7 -1
  77. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  78. package/dist/cli/commands/prime/orientationOutput.js +12 -2
  79. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  80. package/dist/cli/commands/prime.js +37 -2
  81. package/dist/cli/commands/prime.js.map +1 -1
  82. package/dist/cli/commands/profileGrounding.js +77 -0
  83. package/dist/cli/commands/profileGrounding.js.map +1 -0
  84. package/dist/cli/commands/query.js +14 -4
  85. package/dist/cli/commands/query.js.map +1 -1
  86. package/dist/cli/commands/schema.js +10 -0
  87. package/dist/cli/commands/schema.js.map +1 -1
  88. package/dist/cli/commands/state/write.js +4 -1
  89. package/dist/cli/commands/state/write.js.map +1 -1
  90. package/dist/cli/dispatch/lifecycle.js +45 -0
  91. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  92. package/dist/cli/dispatch/prime.js +22 -1
  93. package/dist/cli/dispatch/prime.js.map +1 -1
  94. package/dist/cli/dispatch/shared.js +1 -1
  95. package/dist/cli/dispatch/shared.js.map +1 -1
  96. package/dist/cli/help.js +23 -1
  97. package/dist/cli/help.js.map +1 -1
  98. package/dist/cli/migrationRequired.js +2 -0
  99. package/dist/cli/migrationRequired.js.map +1 -1
  100. package/dist/cli/orientation/attention.js +3 -1
  101. package/dist/cli/orientation/attention.js.map +1 -1
  102. package/dist/cli/orientation.js +2 -2
  103. package/dist/cli/orientation.js.map +1 -1
  104. package/dist/registries/artifactProtocolIds.js +2 -0
  105. package/dist/registries/artifactProtocolIds.js.map +1 -1
  106. package/dist/registries/artifactRegistry.js +2 -0
  107. package/dist/registries/artifactRegistry.js.map +1 -1
  108. package/dist/registries/evidenceTierContract.js +26 -16
  109. package/dist/registries/evidenceTierContract.js.map +1 -1
  110. package/dist/registries/glossaryAdviceContract.js +79 -0
  111. package/dist/registries/glossaryAdviceContract.js.map +1 -0
  112. package/dist/registries/glossaryCaveatContract.js +68 -0
  113. package/dist/registries/glossaryCaveatContract.js.map +1 -0
  114. package/dist/registries/glossaryConsumerContractValidation.js +792 -0
  115. package/dist/registries/glossaryConsumerContractValidation.js.map +1 -0
  116. package/dist/registries/glossaryEntryContract.js +747 -0
  117. package/dist/registries/glossaryEntryContract.js.map +1 -0
  118. package/dist/registries/glossaryTermIdentity.js +18 -0
  119. package/dist/registries/glossaryTermIdentity.js.map +1 -0
  120. package/dist/registries/glossaryTermOccurrence.js +21 -0
  121. package/dist/registries/glossaryTermOccurrence.js.map +1 -0
  122. package/dist/state/changelog.js +222 -0
  123. package/dist/state/changelog.js.map +1 -0
  124. package/dist/state/decisionEntities.js +18 -11
  125. package/dist/state/decisionEntities.js.map +1 -1
  126. package/dist/state/decisionMigrationProvenance.js +84 -1
  127. package/dist/state/decisionMigrationProvenance.js.map +1 -1
  128. package/dist/state/decisionOverlay.js +9 -32
  129. package/dist/state/decisionOverlay.js.map +1 -1
  130. package/dist/state/decisionRevision.js +69 -444
  131. package/dist/state/decisionRevision.js.map +1 -1
  132. package/dist/state/decisionRevisionMigration.js +90 -0
  133. package/dist/state/decisionRevisionMigration.js.map +1 -0
  134. package/dist/state/directRetrieval.js +3 -52
  135. package/dist/state/directRetrieval.js.map +1 -1
  136. package/dist/state/entityCutover.js +6 -6
  137. package/dist/state/entityCutover.js.map +1 -1
  138. package/dist/state/entityGlossaryAuthority.js +14 -0
  139. package/dist/state/entityGlossaryAuthority.js.map +1 -0
  140. package/dist/state/entityMigrationIdentity.js +6 -0
  141. package/dist/state/entityMigrationIdentity.js.map +1 -0
  142. package/dist/state/entityMigrationPreview.js +14 -23
  143. package/dist/state/entityMigrationPreview.js.map +1 -1
  144. package/dist/state/entityPublicationContext.js +374 -71
  145. package/dist/state/entityPublicationContext.js.map +1 -1
  146. package/dist/state/entityStorage.js +45 -29
  147. package/dist/state/entityStorage.js.map +1 -1
  148. package/dist/state/healthEntities.js +2 -4
  149. package/dist/state/healthEntities.js.map +1 -1
  150. package/dist/state/listRetrieval.js +7 -38
  151. package/dist/state/listRetrieval.js.map +1 -1
  152. package/dist/state/migrationSourceBinding.js +1 -1
  153. package/dist/state/migrationSourceBinding.js.map +1 -1
  154. package/dist/state/objectiveExperimentEntities.js +9 -9
  155. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  156. package/dist/state/planEntities.js +57 -16
  157. package/dist/state/planEntities.js.map +1 -1
  158. package/dist/state/progressEntities.js +177 -39
  159. package/dist/state/progressEntities.js.map +1 -1
  160. package/dist/state/progressGlossaryCaveat.js +169 -0
  161. package/dist/state/progressGlossaryCaveat.js.map +1 -0
  162. package/dist/state/progressPublicationOrder.js +20 -0
  163. package/dist/state/progressPublicationOrder.js.map +1 -0
  164. package/dist/state/safeProjectFile.js +4 -1
  165. package/dist/state/safeProjectFile.js.map +1 -1
  166. package/dist/state/startupProjection.js +2 -70
  167. package/dist/state/startupProjection.js.map +1 -1
  168. package/dist/state/stateStorageAuthority.js +48 -0
  169. package/dist/state/stateStorageAuthority.js.map +1 -0
  170. package/dist/state/summarySourceRowAuthority.js +1 -1
  171. package/dist/state/summarySourceRowAuthority.js.map +1 -1
  172. package/dist/state/todoDocsEntities.js +8 -9
  173. package/dist/state/todoDocsEntities.js.map +1 -1
  174. package/dist/state/write/explain.js +101 -92
  175. package/dist/state/write/explain.js.map +1 -1
  176. package/dist/state/write/glossaryPublication.js +264 -0
  177. package/dist/state/write/glossaryPublication.js.map +1 -0
  178. package/dist/state/write/index.js +1 -0
  179. package/dist/state/write/index.js.map +1 -1
  180. package/dist/state/write/operations.js +25 -27
  181. package/dist/state/write/operations.js.map +1 -1
  182. package/dist/state/write/planEvaluation.js +6 -2
  183. package/dist/state/write/planEvaluation.js.map +1 -1
  184. package/dist/state/write/transaction.js +7 -4
  185. package/dist/state/write/transaction.js.map +1 -1
  186. package/dist/upgrade/upgradeOrchestrator.js +15 -10
  187. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  188. package/dist/validate/crossCapability.js +3 -0
  189. package/dist/validate/crossCapability.js.map +1 -1
  190. package/dist/validate/v1LegacyCruft.js +141 -0
  191. package/dist/validate/v1LegacyCruft.js.map +1 -0
  192. package/dist/validate/vocabularyAuthority.js +2 -0
  193. package/dist/validate/vocabularyAuthority.js.map +1 -1
  194. package/package.json +4 -3
  195. package/dist/state/decisionRevisionPublication.js +0 -532
  196. package/dist/state/decisionRevisionPublication.js.map +0 -1
@@ -4,6 +4,9 @@
4
4
 
5
5
  ### Changed
6
6
 
7
+ - `agentera prime` now selects Build and Audit work from the complete plan task
8
+ graph, prioritizes in-progress work before dependency-ready pending tasks, and
9
+ keeps status recommendations aligned when the public task list is bounded.
7
10
  - Status now selects TODO recommendations from complete typed readiness state
8
11
  before applying startup bounds, preserves the selected TODO ID and exact
9
12
  retrieval command across JSON, terminal, and host projections, and abstains
@@ -33,18 +36,40 @@
33
36
 
34
37
  ### Added
35
38
 
39
+ - Added `agentera report profile-glossary --input <file|->` for Profile Full
40
+ personal glossary output in `PROFILE.md`, with bounded
41
+ personal provenance, byte-preserving section replacement, deterministic
42
+ confidence decay and refresh, retained permanence, and no project-glossary
43
+ reads. Discuss, Plan, and Build consume it only through bounded glossary
44
+ advice after project-state acquisition proves the applicable authority.
45
+ - Added canonical project-glossary discovery and a confirmed-variant guard to
46
+ `v1LegacyCruft`. Approved literal drift variants now fail validation when
47
+ reintroduced outside their retained evidence, with the canonical term,
48
+ source location, and correction.
49
+ - Added `agentera report glossary-advice --input <file|-> --format json` for
50
+ active read-only glossary lookup. Exact project entries govern project work;
51
+ personal entries apply only after a valid project gap is proven; and inferred
52
+ equivalence requires host review. Discuss and interactive Plan/Build clarify
53
+ before disputed reliance. Autonomous Plan emits a bounded handoff intent for
54
+ Build, which owns privacy-safe progress caveat lifecycle writes. `prime`
55
+ reserves at most one of six attention slots for current glossary review while
56
+ preserving unrelated attention and next-action selection.
57
+ - Added `agentera state glossary publish --input REQUEST` for explicitly
58
+ confirmed Audit terminology proposals. The build-owned writer revalidates
59
+ project evidence and atomically records separate approval and shared-entry
60
+ state, with dry-run, conflict rejection, and idempotent replay.
36
61
  - Added typed TODO readiness publication to `agentera state todo create` and
37
62
  `update`, including explain discovery, canonical dependency references,
38
63
  complete nested validation, replay-safe publication, and list/get round-tripping.
39
64
  - Added a validated TODO readiness authority with phase-derived capability
40
65
  destinations, explicit triage/block/gate/dependency outcomes, and
41
66
  reviewer-assigned deterministic queue ordering.
42
- - Added post-cutover entity-backed default state views, bare-ID durability diagnostics, and read-only historical migration-manifest target validation while preserving legacy numbered behavior before cutover.
43
- - Added a Git-backed entity cutover owned by the full development-channel `upgrade --yes` command, with deterministic direct publication, exact-target retries, marker-last authority activation, and first-unresolved-path handoff.
44
- - Added post-cutover decision entities for immutable bases and content revisions, replaceable satisfaction ownership, bare-ID exact and bounded reads, deterministic effective provenance, stale-base and transition validation, and explicit same-decision conflict detection; marker-absent projects retain the legacy numbered authority without dual writes.
67
+ - Added entity-backed state views, bare-ID durability diagnostics, and read-only historical migration validation; marker-absent projects now require migration instead of exposing legacy numbered reads.
68
+ - Added a Git-backed entity cutover owned by the full development-channel `upgrade --yes` command, with deterministic direct publication, exact-target retries, source-bound marker-last authority activation, and first-unresolved-path handoff.
69
+ - Added decision entities for immutable bases and content revisions, replaceable satisfaction ownership, bare-ID exact and bounded reads, deterministic effective provenance, stale-base and transition validation, and serialized same-decision ownership. Migration preserves ordered legacy amendments, including whole-alternative replacements and dateless evidence, rejects invalid or stale claims, and requires source-bound provenance for inherited legacy confidence; marker-absent aggregate files remain migration input only.
45
70
  - Added the post-cutover progress entity writer and `state progress get|list` reads with bare IDs, one canonical file per cycle, atomic replay-safe publication, full provenance, bounded snapshot pagination, and no legacy projection or archive writes; legacy projects remain unchanged until the durable cutover marker exists.
46
71
  - Added authority-driven, one-file-per-entity storage primitives with secure project-wide IDs, symlink-safe discovery, conflict-safe publication, relationship validation, and `agentera check validate state` diagnostics.
47
- - Added an authoritative evidence-tier contract (`references/analysis/evidence-tier-authority.yaml`) and contract-model loader (`packages/cli/src/registries/evidenceTierContract.ts`) fixing the bounded full-evidence and signal tiers, supported Codex, Cursor, OpenCode, Copilot, and historical Claude source coverage, the consumer field-supply map including the latent startup-analysis reader, reserved signal semantics for the deferred glossary, and deterministic recovery outcomes for oversized, legacy, missing, corrupt, and incomplete state.
72
+ - Added an authoritative evidence-tier contract (`references/analysis/evidence-tier-authority.yaml`) and contract-model loader (`packages/cli/src/registries/evidenceTierContract.ts`) fixing the bounded full-evidence and signal tiers, supported Codex, Cursor, OpenCode, Copilot, and historical Claude source coverage, the consumer field-supply map including the latent startup-analysis reader, bounded personal-glossary synthesis semantics, and deterministic recovery outcomes for oversized, legacy, missing, corrupt, and incomplete state.
48
73
  - Added bounded tier publication and direct retrieval (`packages/cli/src/analytics/extractCorpus/evidenceTiers.ts`): complete local evidence is retained as independently bounded, source-family shards that split when exceeding the reader cap; a derived, content-addressable bounded signal tier carries only contract-required fields plus a resolvable `evidence_anchor`; generations are staged and revealed by an atomic current-pointer swap so no consumer observes a partial publication; and direct retrieval resolves a signal identity to its full record. The monolithic `corpus.json` write is eliminated; tiers are the only canonical publication output.
49
74
  - Added bounded tier-aware reads for usage analytics, report status, prime corpus coverage, startup analysis, and profile synthesis so every analytics consumer reads from bounded evidence shards one at a time instead of loading the monolithic `corpus.json`. A new `tierReader.ts` module projects contract compatibility states and recovery guidance, streams full-evidence records, and reads signal-tier metadata. A new `profileSignals.ts` module reads the bounded signal tier, assesses per-family retention sufficiency against the contract threshold, and resolves synthesized claims' evidence anchors to retained full-evidence shards. Legacy `corpus.json` remains a fallback when no tiers are published; oversized legacy state is never loaded whole.
50
75
  - Added a schema-owned verbosity-budget authority that classifies numeric word limits, explicit no-limit declarations, and token-only budgets while rejecting malformed, ambiguous, unreadable, and unsupported ownership without fallback limits.
@@ -56,7 +81,7 @@
56
81
  - Added `agentera state plan list` and `agentera state plan get --plan PLAN_ID` for deterministic, cursor-paginated active and archived plan retrieval, full-plan exact reads, lifecycle provenance, and explicit legacy, invalid, missing, and ambiguous archive outcomes.
57
82
  - Added persisted plan identity across active-to-archive transitions, deterministic read-only identity for legacy plans, explicit lifecycle provenance, mirrored-path reporting, and structured ambiguity failures for identity collisions.
58
83
  - Added `agentera state plan tasks list` and `agentera state plan tasks get --task N` for bounded active-plan task retrieval with declared task-number order, opaque snapshot cursors, structured not-found and compatibility errors, and exact omission recovery in text and JSON plan output.
59
- - Added `agentera state decisions amend --number N [--question ... --context ... --alternative-chosen ... --alternative-rejected ... --choice ... --reasoning ... --confidence firm|provisional|exploratory --feeds-into ...] [--dry-run] --format json`: validates and publishes a record-local revision under `.agentera/revisions/decisions.yaml` that composes over the immutable numbered archive at read time. Apply never rewrites the decisions projection, preserves unrelated decisions' bytes (including comments, block scalars, quoting, and inherited legacy confidence labels), refuses a broken revision document or unsafe record-local boundary without side effects, retries converge on a stable revision identity, and an identical re-submission is an idempotent replay. Append, satisfaction update, and amend tolerate untouched inherited confidence labels as explicit legacy caveats while requiring current vocabulary for new or amended content.
84
+ - Added `agentera state decisions amend --id ID --base-sha256 HASH [--question ... --context ... --alternative-chosen ... --alternative-rejected ... --choice ... --reasoning ... --confidence firm|provisional|exploratory --feeds-into ...] [--dry-run] --format json`: validates and publishes one immutable decision revision entity. Effective reads compose the base, ordered revisions, and current satisfaction entity; stale-base and same-base conflicts fail before publication, and identical retries converge.
60
85
 
61
86
  - Added an executable bounded-retrieval authority and reserved CLI grammar for plan tasks, plans, and objective-scoped experiments, including stable and legacy identity rules, experiment `0`, opaque cursors, explicit omissions, and structured compatibility errors; retrieval execution remains staged for subsequent tasks.
62
87
  - Added one shared skill at `~/.agents/skills/agentera` plus the CLI and entity-backed project state as the active integration contract; host-native plugin, hook, agent, and package surfaces are not shipped.
@@ -99,6 +124,51 @@
99
124
 
100
125
  ### Fixed
101
126
 
127
+ - Fixed `agentera state query changelog`, Build Prime, and Document closeout to
128
+ use one bounded Keep-a-Changelog reader with matching headings, boundary,
129
+ provenance, and fail-safe recovery for missing, malformed, unsafe, ambiguous,
130
+ or oversized input.
131
+ - Fixed explicit-home upgrade planning to ignore inherited
132
+ `OPENCODE_CONFIG_DIR` values outside the selected home, preventing unrelated
133
+ OpenCode resources from blocking fixture, package, or isolated project
134
+ upgrades while retaining in-home overrides.
135
+ - Fixed `agentera prime --context build` to accept bounded, transient no-plan
136
+ scope and acceptance through `--input <file|->`, complete execution context
137
+ without creating plan state or returning non-advancing plan recovery, and
138
+ reject active-plan conflicts.
139
+ - Fixed `agentera prime --context build` to derive bounded verification commands
140
+ from `AGENTS.md` and package scripts, preserve exact provenance, canonicalize
141
+ aliases, and reject placeholders, conflicts, unsafe paths, missing targets,
142
+ and over-limit input.
143
+ - Fixed `agentera prime --context build` instructions to log TODO, progress,
144
+ changelog, and plan closeout before one commit, and to describe canonical
145
+ progress entity publication instead of numbered aggregate compaction.
146
+ - Fixed plan supersession and open-plan completion to require every replacement
147
+ task to be complete with latest persisted PASS evidence. Existing records
148
+ remain readable, and affected open plans retain the narrow first-PASS repair.
149
+ - Fixed same-minute progress recency to use persisted writer-owned publication
150
+ order instead of opaque IDs. List and `prime` now select the final committed
151
+ publication after restart or copy. Version 2 snapshot cursors preserve
152
+ deterministic pagination and reject prior-ordering continuations with an
153
+ actionable omit-`--cursor` recovery.
154
+ - Fixed typed entity updates to retain exact source bytes, reject invalid UTF-8,
155
+ and revalidate descriptor-pinned displaced bytes before no-clobber canonical
156
+ publication. Post-displacement failures now restore the exact prior target or
157
+ surface a retained recovery path without clobbering competing bytes, while
158
+ post-commit cleanup faults retain an independent exact-byte baseline snapshot
159
+ and attempt-owned links under the private, Git-ignored, same-filesystem
160
+ `.agentera/.entity-recovery/` namespace instead of invalidating canonical
161
+ entity discovery or misreporting durable updates as failed.
162
+ - Fixed `agentera state plan record-evaluation` to recover the first PASS for an
163
+ unevaluated complete replacement named by a same-plan superseded predecessor
164
+ while the plan remains open, without relaxing other terminal or retry guards.
165
+ - Fixed Discuss, Plan, and Build profile grounding to use `agentera report
166
+ profile-grounding --format json`, which preserves non-glossary profile content
167
+ while excluding the owned personal Glossary section and failing closed on
168
+ ambiguous boundaries.
169
+ - Fixed bounded personal glossary admission to reject missing or unknown
170
+ evidence-tier schema versions before reading signals, returning corrupt-state
171
+ recovery without candidates.
102
172
  - Fixed `agentera state plan create` and `agentera state todo create` rejecting
103
173
  valid migrated decision and progress summaries during descriptor-pinned
104
174
  publication; logical provenance now validates against the real project root,
@@ -0,0 +1,43 @@
1
+ {
2
+ "schemaVersion": "agentera.packagePublication.v1",
3
+ "owner": "repository/package scripts",
4
+ "invariants": {
5
+ "preparation": "Metadata preparation is non-publishing and leaves version and gitRef changes for review and commit.",
6
+ "preflight": "Publication requires explicit authority, a clean tree, committed package metadata, an adapter-valid version, and an existing gitRef before registry mutation.",
7
+ "publication": "Publish directly to the expected tag, then require bounded exact-version integrity and tag convergence.",
8
+ "access": "Publish the unscoped package with public access.",
9
+ "retry": "An exact version with matching integrity and expected tag is a successful replay; conflicting integrity or an expected tag already ahead of the committed version fails without mutation.",
10
+ "smoke": "Run one non-mutating no-project exact-version --version command after convergence; failure is explicit and does not imply rollback.",
11
+ "construction": "Each adapter returns the exact npm name, version, file count, packed and unpacked sizes, shasum, integrity, expected tag, artifact path, warnings, and complete file manifest before publication.",
12
+ "credentials": "Only the npm publish child receives credentials, through a mode-0600 temporary user config; inherited npm/pnpm lifecycle settings and token variables are removed from its environment, and the config is deleted when the child exits.",
13
+ "orchestration": "Root package scripts are the shared local and CI interface. Push-only development and stable jobs run the matching transaction after required gates; replay needs no credentials, mutation without credentials fails, and development publication precedes exact-version L2 bootstrap verification.",
14
+ "outputModes": "Default construction output omits the per-file list; --json and --verbose retain the complete npm pack manifest.",
15
+ "output": ["package", "version", "expectedTag", "phase", "outcome", "nextAction"]
16
+ },
17
+ "packages": {
18
+ "development": {
19
+ "label": "development TypeScript package",
20
+ "packagePath": "packages/cli",
21
+ "manifestPath": "packages/cli/package.json",
22
+ "expectedTag": "next",
23
+ "preparation": "incrementDevPrerelease",
24
+ "construction": "isolatedTypeScriptPackage",
25
+ "smoke": ["npx", "-y", "agentera@{version}", "--version"]
26
+ },
27
+ "stable": {
28
+ "label": "transitional stable shim",
29
+ "packagePath": "packages/cli/shim",
30
+ "manifestPath": "packages/cli/shim/package.json",
31
+ "expectedTag": "latest",
32
+ "preparation": "incrementPatch",
33
+ "construction": "stableShim",
34
+ "smoke": ["npx", "-y", "agentera@{version}", "--version"]
35
+ }
36
+ },
37
+ "bounds": {
38
+ "registryAttempts": 6,
39
+ "registryDelayMs": 5000,
40
+ "commandTimeoutMs": 120000,
41
+ "diagnosticCharacters": 1000
42
+ }
43
+ }
@@ -39,6 +39,18 @@ bundle data disappears, or if a current host-native descriptor/runtime path
39
39
  enters the package. Contributors use `pnpm -C packages/cli run pack:dry-run`;
40
40
  direct checkout packing remains rejected by the canonical packaging authority.
41
41
 
42
+ ## Publication adapters
43
+
44
+ [`package-publication.json`](./package-publication.json) owns the shared
45
+ repository publication transaction and distinguishes the development
46
+ TypeScript package from the transitional stable shim. Both require separately
47
+ prepared and committed version and `gitRef` metadata, explicit publication
48
+ authority, a clean tree, exact registry convergence, safe exact-version replay,
49
+ and bounded phase results. Development retains isolated construction and the
50
+ `next` tag; stable retains shim tests/construction and the `latest` tag. Each
51
+ adapter's only publication smoke is its non-mutating, no-project exact-version
52
+ `--version` invocation, so publication does not absorb migration coverage.
53
+
42
54
  ## Native package boundary
43
55
 
44
56
  The package registry defines no host-native manifest parity, package-manager
@@ -171,69 +171,67 @@ source_families:
171
171
 
172
172
  signal_semantics:
173
173
  fixed_taxonomy_rule: >-
174
- The signal semantics below are fixed. Current consumers and the deferred
175
- glossary consumer depend on their meaning; the contract must preserve that
176
- meaning even though glossary implementation and profile levels remain out
177
- of scope. A semantic kind present here must remain derivable from a bounded
178
- signal record without restoring unbounded transcript content.
174
+ The signal semantics below are fixed. Current profile and personal-glossary
175
+ consumers depend on their meaning. A semantic kind present here must remain
176
+ derivable from a bounded signal record without restoring unbounded
177
+ transcript content.
179
178
  kinds:
180
179
  correction:
181
180
  meaning: >-
182
181
  A user signal that revises a prior position ("no", "not quite",
183
182
  "actually", "instead"). Used to detect decision drift and overrides.
184
183
  derivable_from: history_prompt and conversation_turn records
185
- deferred_consumer: glossary
184
+ consumer: glossary
186
185
  decision:
187
186
  meaning: >-
188
187
  A decision-bearing signal (decide, prefer, trade-off, scope, approve,
189
188
  reject). The primary profile-synthesis input.
190
189
  derivable_from: history_prompt and conversation_turn records
191
- deferred_consumer: glossary
190
+ consumer: glossary
192
191
  current_consumer: profile_synthesis
193
192
  question:
194
193
  meaning: >-
195
194
  An interrogative signal ("why", "how", "should", or a "?"). Surfaces
196
195
  uncertainty and information-gathering intent.
197
196
  derivable_from: history_prompt and conversation_turn records
198
- deferred_consumer: glossary
197
+ consumer: glossary
199
198
  instruction:
200
199
  meaning: >-
201
200
  Explicit user-authored instructions (AGENTS.md and project memory
202
201
  documents). The highest-signal, most durable evidence.
203
202
  derivable_from: instruction_document records
204
- deferred_consumer: glossary
203
+ consumer: glossary
205
204
  current_consumer: profile_synthesis
206
205
  configuration:
207
206
  meaning: >-
208
207
  Recurring config patterns across projects (manifest names, scripts,
209
208
  dependencies, build/tool config). Objective evidence of what shipped.
210
209
  derivable_from: project_config_signal records
211
- deferred_consumer: glossary
210
+ consumer: glossary
212
211
  current_consumer: profile_synthesis
213
212
  record_identity:
214
213
  meaning: >-
215
214
  The stable, addressable identity (`source_id`) of one full record. Lets
216
215
  any consumer cite evidence without retaining its content.
217
216
  derivable_from: every record's source_id
218
- deferred_consumer: glossary
217
+ consumer: glossary
219
218
  date:
220
219
  meaning: >-
221
220
  The record timestamp anchoring evidence in time. Drives decay,
222
221
  recency, and watermark windows.
223
222
  derivable_from: every record's timestamp field
224
- deferred_consumer: glossary
223
+ consumer: glossary
225
224
  evidence_anchor:
226
225
  meaning: >-
227
226
  The resolvable link from a bounded signal record back to exactly one
228
227
  retained full-evidence shard. Guarantees that bounded analysis never
229
228
  severs the citation chain.
230
229
  derivable_from: signal record evidence_anchor -> full_evidence source_id
231
- deferred_consumer: glossary
230
+ consumer: glossary
232
231
  preservation_rule: >-
233
232
  Fixing the contract must not remove the required meaning of any kind above
234
- from current or declared deferred consumers. A deferred consumer (glossary)
235
- is named here so the contract reserves the fields and semantics it will
236
- need, even though its implementation is out of scope.
233
+ from current consumers. Personal glossary synthesis is named here because it
234
+ actively consumes these bounded-history fields and semantics.
237
235
 
238
236
  consumer_map:
239
237
  supply_rule: >-
@@ -300,10 +298,12 @@ consumer_map:
300
298
  - evidence_anchor
301
299
  source_identity: source_id and evidence_anchor for every synthesized claim
302
300
  input_contract: signal tier instruction/decision/question/config projection
303
- deferred_consumers:
301
+ semantic_consumers:
304
302
  glossary:
305
303
  tier: signal
306
- status: declared_deferred
304
+ status: active
305
+ input_scope: bounded_personal_history
306
+ excluded_evidence_classes: [project_file]
307
307
  required_semantics:
308
308
  - correction
309
309
  - decision
@@ -314,9 +314,11 @@ consumer_map:
314
314
  - date
315
315
  - evidence_anchor
316
316
  rule: >-
317
- The glossary is out of scope to implement, but its required semantics
318
- are fixed here so the signal contract reserves them. Implementation must
319
- not drop a reserved semantic or remove the field that carries it.
317
+ Personal glossary synthesis actively consumes bounded personal-history
318
+ signals. Project-file provenance remains repository evidence under the
319
+ shared glossary ownership contract and is never represented as retained-
320
+ history evidence. Implementations must not drop a required semantic or
321
+ remove the field that carries it.
320
322
 
321
323
  profile_sufficiency:
322
324
  question: >-
@@ -129,6 +129,7 @@ conservative_routing:
129
129
  - packages/cli/scripts/verification-barrier.mjs
130
130
  - packages/cli/scripts/verify-generated-overlap.mjs
131
131
  - packages/cli/scripts/pack-package.mjs
132
+ - packages/cli/scripts/package-construction.mjs
132
133
  - packages/cli/scripts/reject-direct-prepack.mjs
133
134
  - packages/cli/test/sourceSetup.ts
134
135
  - packages/cli/test/helpers/sourceSubprocess.ts
@@ -12,19 +12,24 @@ source_of_truth:
12
12
  producer_field: meta.producer
13
13
  consumers_field: meta.consumers
14
14
  artifact_type_field: meta.artifact_type
15
+ implementation_status_field: meta.implementation_status
15
16
  added_contract_fields:
16
17
  display_name: >-
17
18
  Human-facing canonical artifact name used by capability schemas, docs.yaml
18
19
  mapping keys, validators, and bounded CLI override lookup.
19
20
  scope: >-
20
21
  Where the artifact lives and how path overrides may apply.
22
+ implementation_status: >-
23
+ Whether registry relationships describe shipped behavior or an explicitly
24
+ declared-deferred contract.
21
25
  path_template: >-
22
26
  Structured path facts when meta.path contains a placeholder or points to a
23
27
  global, archive, or local-harness location.
24
28
  single_authority_rule: >-
25
29
  Consumers may project these facts into views, but must not maintain separate
26
- display-name, default-path, producer, consumer, scope, type, or special-case
27
- maps outside this registry Interface and runtime docs.yaml override loading.
30
+ display-name, default-path, producer, consumer, scope, type, implementation
31
+ status, or special-case maps outside this registry Interface and runtime
32
+ docs.yaml override loading.
28
33
  record:
29
34
  required_groups:
30
35
  - identity
@@ -61,6 +66,7 @@ record:
61
66
  owns:
62
67
  - producer capability IDs
63
68
  - consumer capability IDs
69
+ - implementation status
64
70
  required_fields:
65
71
  producers: list[string]
66
72
  consumers: list[string]
@@ -172,6 +178,9 @@ required_artifact_identities:
172
178
  - artifact_id: vision
173
179
  display_name: VISION.md
174
180
  default_path: .agentera/vision.yaml
181
+ - artifact_id: glossary
182
+ display_name: GLOSSARY.md
183
+ default_path: .agentera/glossary.yaml
175
184
  project_root:
176
185
  - artifact_id: todo
177
186
  display_name: TODO.md