agentera 3.0.0-dev.27 → 3.0.0-dev.28
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 +10 -0
- package/bundle/DESIGN.md +3 -7
- package/bundle/README.md +1 -4
- package/bundle/UPGRADE.md +33 -0
- package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
- package/bundle/references/adapters/package-registry.yaml +2 -0
- package/bundle/references/adapters/package-surface-characterization.md +2 -2
- package/bundle/references/analysis/benchmark.md +2 -9
- package/bundle/references/artifacts/state-storage-authority.yaml +298 -13
- package/bundle/references/cli/capability-instruction-structure.md +2 -2
- package/bundle/references/cli/hybrid-route-contract.yaml +416 -0
- package/bundle/references/cli/prime-consumer-compatibility.yaml +12 -11
- package/bundle/references/cli/routing-model.md +136 -91
- package/bundle/references/cli/trigger-schema-enrichment.md +50 -46
- package/bundle/references/cli/vocabulary.md +7 -9
- package/bundle/references/meta/documentation-inventory.md +1 -3
- package/bundle/skills/agentera/SKILL.md +50 -18
- package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
- package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
- package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
- package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
- package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -34
- package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
- package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
- package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
- package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
- package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -47
- package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
- package/bundle/skills/agentera/capability_schema_contract.yaml +29 -29
- package/bundle/skills/agentera/route-phrases.yaml +81 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
- package/dist/capabilities/discuss/instructions.js +1 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/plan/instructions.js +1 -1
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +1 -1
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/commands/entityMigrate.js +7 -3
- package/dist/cli/commands/entityMigrate.js.map +1 -1
- package/dist/cli/commands/prime/briefOrientation.js +10 -3
- package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
- package/dist/cli/commands/prime/collectEntityOrientation.js +64 -4
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +41 -15
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime.js +4 -3
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/route.js +142 -0
- package/dist/cli/commands/route.js.map +1 -0
- package/dist/cli/commands/state/write.js +19 -0
- package/dist/cli/commands/state/write.js.map +1 -1
- package/dist/cli/commands/verify.js +17 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/dispatch/index.js +18 -0
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/errors.js +2 -2
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/help.js +20 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/migrationRequired.js +1 -1
- package/dist/cli/migrationRequired.js.map +1 -1
- package/dist/eval/hybridRouteEvaluation.js +156 -0
- package/dist/eval/hybridRouteEvaluation.js.map +1 -0
- package/dist/registries/capabilityContract.js +5 -20
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/hybridRoute.js +203 -0
- package/dist/registries/hybridRoute.js.map +1 -0
- package/dist/registries/hybridRouteReceipt.js +221 -0
- package/dist/registries/hybridRouteReceipt.js.map +1 -0
- package/dist/registries/triggerLoader.js +7 -43
- package/dist/registries/triggerLoader.js.map +1 -1
- package/dist/release/releaseMetadata.js +2 -0
- package/dist/release/releaseMetadata.js.map +1 -1
- package/dist/state/archiveDiscovery.js +24 -35
- package/dist/state/archiveDiscovery.js.map +1 -1
- package/dist/state/canonicalMigrationRecord.js +37 -0
- package/dist/state/canonicalMigrationRecord.js.map +1 -0
- package/dist/state/decisionEntities.js +73 -33
- package/dist/state/decisionEntities.js.map +1 -1
- package/dist/state/decisionLegacyValidation.js +31 -0
- package/dist/state/decisionLegacyValidation.js.map +1 -1
- package/dist/state/decisionMigrationProvenance.js +117 -0
- package/dist/state/decisionMigrationProvenance.js.map +1 -0
- package/dist/state/durability.js +24 -5
- package/dist/state/durability.js.map +1 -1
- package/dist/state/entityCutover.js +2 -2
- package/dist/state/entityCutover.js.map +1 -1
- package/dist/state/entityMigrationCausality.js +99 -0
- package/dist/state/entityMigrationCausality.js.map +1 -0
- package/dist/state/entityMigrationPreview.js +138 -77
- package/dist/state/entityMigrationPreview.js.map +1 -1
- package/dist/state/entityStorage.js +59 -24
- package/dist/state/entityStorage.js.map +1 -1
- package/dist/state/healthEntities.js +28 -31
- package/dist/state/healthEntities.js.map +1 -1
- package/dist/state/legacySummaryRecord.js +7 -0
- package/dist/state/legacySummaryRecord.js.map +1 -0
- package/dist/state/listCursor.js +43 -0
- package/dist/state/listCursor.js.map +1 -0
- package/dist/state/migrationSourceBinding.js +29 -0
- package/dist/state/migrationSourceBinding.js.map +1 -0
- package/dist/state/progressEntities.js +35 -59
- package/dist/state/progressEntities.js.map +1 -1
- package/dist/state/retrievalAuthority.js +10 -0
- package/dist/state/retrievalAuthority.js.map +1 -1
- package/dist/state/summaryEntityRead.js +26 -0
- package/dist/state/summaryEntityRead.js.map +1 -0
- package/dist/state/summaryMigrationProvenance.js +67 -0
- package/dist/state/summaryMigrationProvenance.js.map +1 -0
- package/dist/state/summarySourceRowAuthority.js +37 -0
- package/dist/state/summarySourceRowAuthority.js.map +1 -0
- package/dist/validate/capability.js +11 -2
- package/dist/validate/capability.js.map +1 -1
- package/package.json +2 -2
- package/bundle/references/analysis/analytics-boundary-proportional-2026-07-20.yaml +0 -74
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-3.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs +0 -98
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz +0 -0
- package/bundle/references/analysis/migration-pagination-proportional-2026-07-20.yaml +0 -64
- package/bundle/references/analysis/verification-baseline-2026-07-20.yaml +0 -313
- package/bundle/references/analysis/verification-final-proof-2026-07-21.yaml +0 -340
- package/bundle/references/analysis/worker-policy-2026-07-21.yaml +0 -207
|
@@ -187,6 +187,27 @@ entity_target:
|
|
|
187
187
|
mutation_after_snapshot: cursor_snapshot_unavailable
|
|
188
188
|
omission: whole_entries_only_with_count_reason_continuation_and_exact_get
|
|
189
189
|
scalar_truncation: forbidden
|
|
190
|
+
- boundary: progress_summary
|
|
191
|
+
artifact: progress
|
|
192
|
+
independently_mutable: false
|
|
193
|
+
relationships: []
|
|
194
|
+
implementation: implemented
|
|
195
|
+
publication: immutable
|
|
196
|
+
mutation: forbidden
|
|
197
|
+
record:
|
|
198
|
+
required_fields: [summary, migration_provenance]
|
|
199
|
+
required_paths: []
|
|
200
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
201
|
+
canonical_metadata:
|
|
202
|
+
summary_migration_provenance:
|
|
203
|
+
path: record.migration_provenance
|
|
204
|
+
required_fields: [source_path, source_record_sha256]
|
|
205
|
+
additional_fields: forbidden
|
|
206
|
+
source_path: project-relative v2 aggregate source path
|
|
207
|
+
sources:
|
|
208
|
+
- path: .agentera/progress.yaml
|
|
209
|
+
collections: [cycles, archive]
|
|
210
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
190
211
|
- boundary: decision
|
|
191
212
|
artifact: decisions
|
|
192
213
|
independently_mutable: true
|
|
@@ -197,6 +218,20 @@ entity_target:
|
|
|
197
218
|
required_fields: [date, question, context, alternatives, choice, reasoning, confidence]
|
|
198
219
|
required_paths: []
|
|
199
220
|
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number, satisfaction]
|
|
221
|
+
canonical_metadata:
|
|
222
|
+
migration_provenance:
|
|
223
|
+
applicability: inherited_unsupported_confidence_only
|
|
224
|
+
required_fields: [kind, source, source_path, source_record_sha256, confidence]
|
|
225
|
+
additional_fields: forbidden
|
|
226
|
+
kind: inherited_decision_confidence
|
|
227
|
+
sources: [current_projection, verified_archive]
|
|
228
|
+
semantics: >-
|
|
229
|
+
Cutover persists this envelope-level metadata only when an authority-backed
|
|
230
|
+
complete-record classifier proves that high, medium, or low confidence is
|
|
231
|
+
the source record's sole schema violation. confidence must match the
|
|
232
|
+
canonical record, source_path is project-relative, and source_record_sha256
|
|
233
|
+
binds the complete parsed source record before canonical alias removal.
|
|
234
|
+
Current confidence values and ordinary decision writes omit this metadata.
|
|
200
235
|
retrieval:
|
|
201
236
|
exact: agentera state decisions get --id ID --format json
|
|
202
237
|
list: agentera state decisions list [--limit N] [--cursor TOKEN] --format json
|
|
@@ -219,6 +254,28 @@ entity_target:
|
|
|
219
254
|
required_fields: [decision, state]
|
|
220
255
|
required_paths: []
|
|
221
256
|
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
257
|
+
- boundary: decision_summary
|
|
258
|
+
artifact: decisions
|
|
259
|
+
independently_mutable: false
|
|
260
|
+
relationships: []
|
|
261
|
+
implementation: implemented
|
|
262
|
+
publication: immutable
|
|
263
|
+
mutation: forbidden
|
|
264
|
+
record:
|
|
265
|
+
required_fields: [summary, migration_provenance]
|
|
266
|
+
required_paths: []
|
|
267
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
268
|
+
canonical_metadata:
|
|
269
|
+
summary_migration_provenance:
|
|
270
|
+
path: record.migration_provenance
|
|
271
|
+
required_fields: [source_path, source_record_sha256]
|
|
272
|
+
additional_fields: forbidden
|
|
273
|
+
source_path: project-relative v2 aggregate source path
|
|
274
|
+
sources:
|
|
275
|
+
- path: .agentera/decisions.yaml
|
|
276
|
+
collections: [decisions, archive]
|
|
277
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
278
|
+
satisfaction: optional_inline_read_only_source_retained_field
|
|
222
279
|
- boundary: decision_revision
|
|
223
280
|
artifact: decisions
|
|
224
281
|
independently_mutable: true
|
|
@@ -254,8 +311,29 @@ entity_target:
|
|
|
254
311
|
scalar_truncation: forbidden
|
|
255
312
|
repair: >-
|
|
256
313
|
Canonical health audit entities are immutable and cannot be row-deduplicated.
|
|
257
|
-
|
|
258
|
-
|
|
314
|
+
Malformed envelopes, duplicate IDs, or conflicting ownership fail before effects
|
|
315
|
+
and recover through agentera check validate state; no repair event is fabricated.
|
|
316
|
+
- boundary: health_summary
|
|
317
|
+
artifact: health
|
|
318
|
+
independently_mutable: false
|
|
319
|
+
relationships: []
|
|
320
|
+
implementation: implemented
|
|
321
|
+
publication: immutable
|
|
322
|
+
mutation: forbidden
|
|
323
|
+
record:
|
|
324
|
+
required_fields: [summary, migration_provenance]
|
|
325
|
+
required_paths: []
|
|
326
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
327
|
+
canonical_metadata:
|
|
328
|
+
summary_migration_provenance:
|
|
329
|
+
path: record.migration_provenance
|
|
330
|
+
required_fields: [source_path, source_record_sha256]
|
|
331
|
+
additional_fields: forbidden
|
|
332
|
+
source_path: project-relative v2 aggregate source path
|
|
333
|
+
sources:
|
|
334
|
+
- path: .agentera/health.yaml
|
|
335
|
+
collections: [audits, archive]
|
|
336
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
259
337
|
- boundary: plan
|
|
260
338
|
artifact: plan
|
|
261
339
|
independently_mutable: true
|
|
@@ -453,13 +531,195 @@ entity_target:
|
|
|
453
531
|
- all intentional_singletons
|
|
454
532
|
- immutable historical prose and evidence, except structured references explicitly declared for rewrite
|
|
455
533
|
- genuinely singleton editorial artifacts added by an authority amendment
|
|
534
|
+
declared_compacted_summary_contract:
|
|
535
|
+
status: implemented
|
|
536
|
+
activation: >-
|
|
537
|
+
The three summary boundaries are active entity and migration authority in
|
|
538
|
+
entity_target.entities. Ordinary summary readers and startup projection
|
|
539
|
+
expose retained degraded history without reconstructing missing detail.
|
|
540
|
+
runtime_boundary_source: entity_target.entities
|
|
541
|
+
runtime_exclusion: >-
|
|
542
|
+
No experiment_summary boundary is activated. Summary boundaries are
|
|
543
|
+
immutable/read-only and are not ordinary write targets.
|
|
544
|
+
source_scope:
|
|
545
|
+
included_artifacts: [progress, decisions, health]
|
|
546
|
+
excluded_artifacts:
|
|
547
|
+
- objective_experiments: protected v2 family; not a compacted-summary migration input
|
|
548
|
+
- runtime_local_session_state: runtime-local state is outside canonical project migration
|
|
549
|
+
- compacted_todo_rows: already satisfy the canonical TODO shape and are not remapped as summaries
|
|
550
|
+
authority_rule: >-
|
|
551
|
+
This implemented scope does not reconstruct Git history, normalize source
|
|
552
|
+
summaries, retain dual authority, or provide a repair or import command.
|
|
553
|
+
source_row_provenance:
|
|
554
|
+
semantic_id: v2_compacted_summary_physical_row.v1
|
|
555
|
+
status: implemented
|
|
556
|
+
accepted_parsed_row_values: [mapping, scalar_string]
|
|
557
|
+
normalization: >-
|
|
558
|
+
Preview normalizes either accepted parsed physical row value to canonical
|
|
559
|
+
retained summary content for matching and publication. A mapping retains
|
|
560
|
+
its source fields subject to canonical alias removal and declared metadata
|
|
561
|
+
injection; a scalar string becomes {summary: value}.
|
|
562
|
+
source_record_sha256:
|
|
563
|
+
format: lowercase_sha256_hex
|
|
564
|
+
input: >-
|
|
565
|
+
original parsed physical source row value, which may be a mapping or a
|
|
566
|
+
scalar string, before summary normalization, canonical alias removal, or
|
|
567
|
+
metadata injection
|
|
568
|
+
canonicalization: >-
|
|
569
|
+
SHA-256 of UTF-8 canonical JSON: recursively sort mapping keys, preserve
|
|
570
|
+
array order, serialize scalar strings with JSON.stringify, and emit no
|
|
571
|
+
insignificant whitespace.
|
|
572
|
+
diagnostics:
|
|
573
|
+
status: implemented
|
|
574
|
+
implementation: >-
|
|
575
|
+
Read-only migration preview classifies independent invalid source
|
|
576
|
+
identities as roots, then reports generated graph dependents separately.
|
|
577
|
+
Ordinary summary reads and startup do not expose these migration-only
|
|
578
|
+
fields.
|
|
579
|
+
counts:
|
|
580
|
+
blockers: total root_blockers plus dependent_blockers
|
|
581
|
+
root_blockers: independently invalid, ambiguous, conflicting, or unsupported source identities
|
|
582
|
+
dependent_blockers: >-
|
|
583
|
+
Downstream diagnostics caused by a named root blocker. Each dependent names
|
|
584
|
+
its root source identity and does not increase root corruption.
|
|
585
|
+
dependent_blocker_required_fields: [root_source_identity]
|
|
586
|
+
corruption_count: corrupt classification counts source roots only, never generated dependents
|
|
587
|
+
graph: >-
|
|
588
|
+
A resolved relationship to a root (including a chain) is a dependent
|
|
589
|
+
blocker. Missing references make their owning source a root. Cycles with
|
|
590
|
+
no source root choose their lexicographically first source identity as a
|
|
591
|
+
deterministic corrupt root; preview does not attempt graph recovery.
|
|
592
|
+
source_outcomes:
|
|
593
|
+
status: implemented
|
|
594
|
+
valid_compacted_summary:
|
|
595
|
+
outcome: ready_with_degraded_provenance
|
|
596
|
+
rule: >-
|
|
597
|
+
Map each valid supported v2 summary to its declared immutable summary
|
|
598
|
+
boundary, retain source fields and migration provenance, and never
|
|
599
|
+
reconstruct missing detail.
|
|
600
|
+
missing_detail_not_declared_summary:
|
|
601
|
+
outcome: blocked
|
|
602
|
+
rule: retain evidence and stop before publication; never infer omitted fields
|
|
603
|
+
inherited_confidence_only:
|
|
604
|
+
outcome: ready_with_legacy_caveat
|
|
605
|
+
rule: >-
|
|
606
|
+
Preserve an inherited full-decision high, medium, or low label exactly and
|
|
607
|
+
report its caveat. Only new or amended labels must use the current strict
|
|
608
|
+
vocabulary.
|
|
609
|
+
boundaries:
|
|
610
|
+
- boundary: progress_summary
|
|
611
|
+
artifact: progress
|
|
612
|
+
independently_mutable: false
|
|
613
|
+
implementation: implemented
|
|
614
|
+
publication: immutable
|
|
615
|
+
mutation: forbidden
|
|
616
|
+
canonical_representation: one_immutable_degraded_summary_entity_per_valid_v2_summary
|
|
617
|
+
relationships: []
|
|
618
|
+
record:
|
|
619
|
+
required_fields: [summary, migration_provenance]
|
|
620
|
+
additional_fields: source_retained_fields_plus_declared_metadata
|
|
621
|
+
declared_metadata_fields: [migration_provenance]
|
|
622
|
+
source_retained_fields: >-
|
|
623
|
+
Preserve every source-retained field in the canonical record except
|
|
624
|
+
public_schema.forbidden_canonical_aliases. migration_provenance is
|
|
625
|
+
declared canonical metadata, not a retained source field. Missing
|
|
626
|
+
full-detail fields remain absent; migration does not normalize or
|
|
627
|
+
reconstruct them.
|
|
628
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
629
|
+
migration_provenance:
|
|
630
|
+
path: record.migration_provenance
|
|
631
|
+
required_fields: [source_path, source_record_sha256]
|
|
632
|
+
additional_fields: forbidden
|
|
633
|
+
source_path: project-relative v2 aggregate source path
|
|
634
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
635
|
+
retrieval:
|
|
636
|
+
exact: agentera state progress get --id ID --format json
|
|
637
|
+
list: agentera state progress list [--limit N] [--cursor TOKEN] --format json
|
|
638
|
+
detail_availability: summary
|
|
639
|
+
compatibility: degraded
|
|
640
|
+
caveats: required
|
|
641
|
+
ordering: full_timestamp_desc_then_id_asc_then_summary_id_asc
|
|
642
|
+
summary_ordering: canonical_id_asc_without_chronology_claim
|
|
643
|
+
mutation: read_only
|
|
644
|
+
- boundary: decision_summary
|
|
645
|
+
artifact: decisions
|
|
646
|
+
independently_mutable: false
|
|
647
|
+
implementation: implemented
|
|
648
|
+
publication: immutable
|
|
649
|
+
mutation: forbidden
|
|
650
|
+
canonical_representation: one_immutable_degraded_summary_entity_per_valid_v2_summary
|
|
651
|
+
relationships: []
|
|
652
|
+
record:
|
|
653
|
+
required_fields: [summary, migration_provenance]
|
|
654
|
+
additional_fields: source_retained_fields_plus_declared_metadata
|
|
655
|
+
declared_metadata_fields: [migration_provenance]
|
|
656
|
+
source_retained_fields: >-
|
|
657
|
+
Preserve every source-retained field in the canonical record except
|
|
658
|
+
public_schema.forbidden_canonical_aliases. migration_provenance is
|
|
659
|
+
declared canonical metadata, not a retained source field. Missing
|
|
660
|
+
full-detail fields remain absent; migration does not normalize or
|
|
661
|
+
reconstruct them.
|
|
662
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
663
|
+
satisfaction: optional_inline_read_only_source_retained_field
|
|
664
|
+
satisfaction_rule: >-
|
|
665
|
+
Satisfaction may be absent. When retained, it remains inline and read-only;
|
|
666
|
+
a decision summary never creates or targets a decision_satisfaction entity.
|
|
667
|
+
migration_provenance:
|
|
668
|
+
path: record.migration_provenance
|
|
669
|
+
required_fields: [source_path, source_record_sha256]
|
|
670
|
+
additional_fields: forbidden
|
|
671
|
+
source_path: project-relative v2 aggregate source path
|
|
672
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
673
|
+
retrieval:
|
|
674
|
+
exact: agentera state decisions get --id ID --format json
|
|
675
|
+
list: agentera state decisions list [--limit N] [--cursor TOKEN] --format json
|
|
676
|
+
detail_availability: summary
|
|
677
|
+
compatibility: degraded
|
|
678
|
+
caveats: required
|
|
679
|
+
ordering: full_date_desc_then_id_asc_then_summary_id_asc
|
|
680
|
+
summary_ordering: canonical_id_asc_without_chronology_claim
|
|
681
|
+
mutation: read_only
|
|
682
|
+
- boundary: health_summary
|
|
683
|
+
artifact: health
|
|
684
|
+
independently_mutable: false
|
|
685
|
+
implementation: implemented
|
|
686
|
+
publication: immutable
|
|
687
|
+
mutation: forbidden
|
|
688
|
+
canonical_representation: one_immutable_degraded_summary_entity_per_valid_v2_summary
|
|
689
|
+
relationships: []
|
|
690
|
+
record:
|
|
691
|
+
required_fields: [summary, migration_provenance]
|
|
692
|
+
additional_fields: source_retained_fields_plus_declared_metadata
|
|
693
|
+
declared_metadata_fields: [migration_provenance]
|
|
694
|
+
source_retained_fields: >-
|
|
695
|
+
Preserve every source-retained field in the canonical record except
|
|
696
|
+
public_schema.forbidden_canonical_aliases. migration_provenance is
|
|
697
|
+
declared canonical metadata, not a retained source field. Missing
|
|
698
|
+
full-detail fields remain absent; migration does not normalize or
|
|
699
|
+
reconstruct them.
|
|
700
|
+
forbidden_fields: [id, artifact, number, stable_id, artifact_id, entry_number]
|
|
701
|
+
migration_provenance:
|
|
702
|
+
path: record.migration_provenance
|
|
703
|
+
required_fields: [source_path, source_record_sha256]
|
|
704
|
+
additional_fields: forbidden
|
|
705
|
+
source_path: project-relative v2 aggregate source path
|
|
706
|
+
source_row_provenance: entity_target.declared_compacted_summary_contract.source_row_provenance
|
|
707
|
+
retrieval:
|
|
708
|
+
exact: agentera state health get --id ID --format json
|
|
709
|
+
list: agentera state health list [--limit N] [--cursor TOKEN] --format json
|
|
710
|
+
detail_availability: summary
|
|
711
|
+
compatibility: degraded
|
|
712
|
+
caveats: required
|
|
713
|
+
ordering: full_date_desc_then_id_asc_then_summary_id_asc
|
|
714
|
+
summary_ordering: canonical_id_asc_without_chronology_claim
|
|
715
|
+
mutation: read_only
|
|
456
716
|
measurement_contract:
|
|
457
717
|
status: implemented
|
|
458
718
|
environment: Linux, Node.js 22 or newer, one cold CLI process per sample
|
|
459
719
|
fixtures:
|
|
460
|
-
small: 100 valid entities distributed across every
|
|
461
|
-
large: 1000 valid entities distributed across every
|
|
462
|
-
relationship_rule: every
|
|
720
|
+
small: 100 valid entities distributed across every active entity_target.entities boundary
|
|
721
|
+
large: 1000 valid entities distributed across every active entity_target.entities boundary
|
|
722
|
+
relationship_rule: every active entity_target.relationships declaration has at least one valid fixture edge
|
|
463
723
|
sampling:
|
|
464
724
|
repetitions: 5
|
|
465
725
|
pass_rule: every repetition stays within every applicable limit
|
|
@@ -594,7 +854,7 @@ entity_migration:
|
|
|
594
854
|
.agentera/archive/recovery/projection-correlation.yaml recovery set by
|
|
595
855
|
identity, archive bytes, final record SHA-256, parent/child Git proof or
|
|
596
856
|
legacy converter/source proof, current projection bytes, and overlay.
|
|
597
|
-
|
|
857
|
+
Missing, changed, new, replaced, or unlisted recovery evidence blocks.
|
|
598
858
|
internal_migration_diagnostic: true
|
|
599
859
|
read_only_preview:
|
|
600
860
|
implementation: implemented
|
|
@@ -660,6 +920,9 @@ entity_migration:
|
|
|
660
920
|
mirrors: excess canonical-identical physical records grouped under one logical identity
|
|
661
921
|
duplicates: excess divergent physical records claiming one logical identity
|
|
662
922
|
conflicts: logical identities with divergent candidates plus proposed-target collisions
|
|
923
|
+
root_blockers: independently invalid source identities, counted once per source identity
|
|
924
|
+
dependent_blockers: generated relationship-to-root diagnostics, each carrying root_source_identity
|
|
925
|
+
blockers: root_blockers plus dependent_blockers
|
|
663
926
|
zero_write: >-
|
|
664
927
|
Inventory, preview, malformed-input handling, and source-binding checks
|
|
665
928
|
open no writer or upgrade lock and create no directory, temporary file,
|
|
@@ -678,7 +941,10 @@ entity_migration:
|
|
|
678
941
|
degraded_recoverable:
|
|
679
942
|
outcome: ready_with_provenance
|
|
680
943
|
rule: admit only independently validated full detail and record its recovery provenance
|
|
681
|
-
|
|
944
|
+
valid_compacted_summary:
|
|
945
|
+
outcome: ready_with_degraded_provenance
|
|
946
|
+
rule: preserve retained summary fields and source-record provenance without reconstructing omitted detail
|
|
947
|
+
missing_detail_not_declared_summary:
|
|
682
948
|
outcome: blocked
|
|
683
949
|
rule: retain evidence and stop before publication; never reconstruct omitted fields
|
|
684
950
|
ambiguous_or_duplicate_identity:
|
|
@@ -768,12 +1034,14 @@ retrieval:
|
|
|
768
1034
|
plan_tasks: implemented
|
|
769
1035
|
plans: implemented
|
|
770
1036
|
experiments: implemented
|
|
1037
|
+
progress: implemented
|
|
1038
|
+
decisions: implemented
|
|
1039
|
+
health: implemented
|
|
771
1040
|
authority_boundary: >-
|
|
772
1041
|
This group owns public list/get envelopes, cursors, selectors, identities,
|
|
773
1042
|
omissions, and structured retrieval failures. It does not replace storage
|
|
774
|
-
ownership:
|
|
775
|
-
|
|
776
|
-
objective directories remain authoritative for experiments.
|
|
1043
|
+
ownership: canonical entity files remain authoritative after the durable
|
|
1044
|
+
cutover marker; retained v2 aggregates are immutable migration evidence only.
|
|
777
1045
|
envelope:
|
|
778
1046
|
schema_version: agentera.stateRetrieval.v1
|
|
779
1047
|
required_fields:
|
|
@@ -788,12 +1056,28 @@ retrieval:
|
|
|
788
1056
|
- source
|
|
789
1057
|
- source_contract
|
|
790
1058
|
entry_required_fields:
|
|
791
|
-
-
|
|
792
|
-
-
|
|
1059
|
+
- id
|
|
1060
|
+
- artifact
|
|
1061
|
+
- boundary
|
|
793
1062
|
- detail_availability
|
|
794
1063
|
- compatibility
|
|
795
1064
|
- provenance
|
|
796
1065
|
- retrieval
|
|
1066
|
+
summary_boundary_entries:
|
|
1067
|
+
visibility: >-
|
|
1068
|
+
Progress, decision, and health list/get reads include both the full
|
|
1069
|
+
boundary and its corresponding immutable summary boundary under the
|
|
1070
|
+
same artifact vocabulary.
|
|
1071
|
+
full: { detail_availability: full, compatibility: current }
|
|
1072
|
+
summary:
|
|
1073
|
+
detail_availability: summary
|
|
1074
|
+
compatibility: degraded
|
|
1075
|
+
required_fields: [boundary, caveats, record.migration_provenance]
|
|
1076
|
+
provenance: record_level_summary_migration_provenance
|
|
1077
|
+
mutation: immutable_read_only
|
|
1078
|
+
ordering: >-
|
|
1079
|
+
Summary rows without a full-record temporal sort field sort after
|
|
1080
|
+
timestamped or dated full rows and then by canonical ID ascending.
|
|
797
1081
|
counts_required_fields: [total, returned, remaining, omitted]
|
|
798
1082
|
status_values: [ok, degraded]
|
|
799
1083
|
cursor:
|
|
@@ -1841,7 +2125,8 @@ budgets:
|
|
|
1841
2125
|
# to routing-essential leaves plus named recovery pointers for omitted
|
|
1842
2126
|
# rich state. Pretty UTF-8 JSON + trailing newline is measured and an
|
|
1843
2127
|
# over-budget brief is rejected in favor of a bounded degraded envelope;
|
|
1844
|
-
# diagnostics stay on stderr. prime_dashboard keeps full
|
|
2128
|
+
# diagnostics stay on stderr. prime_dashboard keeps full current state
|
|
2129
|
+
# while omitting duplicated ordinary history entries with recovery.
|
|
1845
2130
|
max_utf8_bytes: 12000
|
|
1846
2131
|
prime_dashboard:
|
|
1847
2132
|
manifest_id: prime-dashboard
|
|
@@ -111,9 +111,9 @@ against D80 plus this reference doc.
|
|
|
111
111
|
|---|---|---|---|---|---|---|---|
|
|
112
112
|
| ⌂ status | Linear | 10,389 | Yes | Yes | Yes | None | Complete (D79) |
|
|
113
113
|
| ⛥ vision | Mode-split | 16,667 | Yes | Yes | Yes | Has vision.yaml shape subsection; shared pre-write self-audit hoist (DRY between Create and Refine modes) | Complete (D81) |
|
|
114
|
-
| ❈ discuss | Loop | 12,045 | Yes | Yes | Yes | Has decisions.yaml shape subsection; Getting started folded into §6; loop shape named "The deliberation loop" (§3);
|
|
114
|
+
| ❈ discuss | Loop | 12,045 | Yes | Yes | Yes | Has decisions.yaml shape subsection; Getting started folded into §6; loop shape named "The deliberation loop" (§3); readiness check names unclear or unverified items at Done; steering rules (breadth-first, ask-user-to-sketch); schema files use artifact-id labels not canonical filenames | Complete (D82) |
|
|
115
115
|
| ⬚ research | Linear | 12,484 | Yes | Yes | Yes | Has deliverable template; has transferable concepts checkpoint between source reading and target exploration; runtime-agnostic tool references | Complete (D83) |
|
|
116
|
-
| ≡ plan | Mode-split | 14,515 | Yes | Yes | Yes | Has skip/light/full modes; `unknowns:` and `rejected:` full-plan fields; `How build reads PLAN.md` removed (artifact read contract declared in §2 only);
|
|
116
|
+
| ≡ plan | Mode-split | 14,515 | Yes | Yes | Yes | Has skip/light/full modes; `unknowns:` and `rejected:` full-plan fields; `How build reads PLAN.md` removed (artifact read contract declared in §2 only); unknowns check at handoff; replan trigger qualitative (surprises on one task alter downstream acceptance); Getting started folded into §6; YAML formats reordered intent-first | Complete (D84) |
|
|
117
117
|
| ⧉ build | Cycle | 15,081 | Yes | Yes | Yes | Has Handling blocked work; vision bootstrap folded into Workflow phases; brainstorm cut to minimal fallback; subagent spawning table cut to brief pointer; self-audit folded into Log (8 steps); plan unknowns consumption; cycle boundary stated once; `/loop` replaced with explicit user request | Complete (D85) |
|
|
118
118
|
| ⎘ optimize | Cycle | 20,622 | Yes | Yes | Yes | Has Handling blocked experiments; self-audit folded into Log (7 steps); subagent spawning table compressed (D85 propagation); benchmark context lean seam; experiments.yaml has context block; brainstorm stripped to 4 questions | Complete (D86) |
|
|
119
119
|
| ⛶ audit | Linear | 18,401 | Yes | Yes | Yes | Has finding taxonomy plus health.yaml shape; has 3 agentera-specific dimension mechanics (Version health, Artifact freshness, Prose health); Getting started folded into §6; self-audit folded into Report (7→6 steps); subagent spawning compressed to brief pointer; evidence_context startup delegation (bespoke); decision satisfaction authority rule in Safety rails | Complete (D87) |
|