agentera 3.0.0-dev.76 → 3.0.0-dev.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/bundle/.agentera-build-source.json +5 -5
- package/bundle/CHANGELOG.md +10 -1
- package/bundle/UPGRADE.md +24 -5
- package/bundle/references/adapters/package-publication.json +4 -4
- package/bundle/references/adapters/package-registry.yaml +153 -151
- package/bundle/references/adapters/product-v1-reset.yaml +101 -0
- package/bundle/references/artifacts/glossary-entry-contract.yaml +163 -9
- package/bundle/references/artifacts/state-storage-authority.yaml +0 -5
- package/bundle/references/cli/update-channels.yaml +1 -1
- package/bundle/references/cli/vocabulary-index.yaml +2 -2
- package/bundle/references/cli/vocabulary.md +2 -3
- package/bundle/references/meta/retained-reference-authority.yaml +5 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +1 -20
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +0 -31
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +0 -25
- package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +1 -1
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +1 -36
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +0 -31
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -35
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +1 -25
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +0 -19
- package/dist/.agentera-build-source.json +5 -5
- package/dist/analytics/personalGlossaryAdmission.js +1 -1
- package/dist/analytics/personalGlossaryCandidateProjection.js +96 -0
- package/dist/analytics/personalGlossaryCandidateProjectionModel.js +1 -0
- package/dist/analytics/personalGlossaryRefreshProjection.js +351 -0
- package/dist/capabilities/status/instructions.js +1 -1
- package/dist/cli/commands/personalGlossaryCandidateReads.js +12 -1
- package/dist/cli/commands/prime/briefOrientation.js +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +0 -7
- package/dist/cli/commands/prime/orientationOutput.js +3 -9
- package/dist/cli/commands/report.js +98 -8
- package/dist/cli/commands/upgrade.js +30 -0
- package/dist/cli/dispatch/index.js +7 -0
- package/dist/cli/dispatch/lifecycle.js +20 -0
- package/dist/cli/help.js +10 -3
- package/dist/cli/orientation/attention.js +1 -4
- package/dist/cli/productV1Eol.js +55 -0
- package/dist/cli/startupCompletenessContract.js +0 -1
- package/dist/cli/stateQuery.js +1 -1
- package/dist/registries/activationTuples.js +11 -2
- package/dist/registries/glossaryCandidateProjectionAuthority.js +154 -6
- package/dist/registries/glossaryCandidateProjectionContract.js +4 -0
- package/dist/registries/glossaryEntryContract.js +3 -3
- package/dist/registries/packagePublication.js +2 -2
- package/dist/runtime/nativeResourceCleanup.js +1 -0
- package/dist/upgrade/legacyAgentCleanup.js +1 -1
- package/dist/upgrade/migrateArtifactsV2ToV3.js +1 -27
- package/dist/upgrade/nextMajorDoctor.js +0 -21
- package/dist/upgrade/productV1Reset.js +515 -0
- package/dist/upgrade/productV1ResetAuthority.js +139 -0
- package/dist/upgrade/projectIntegration.js +4 -6
- package/dist/upgrade/upgradeOrchestrator.js +4 -12
- package/dist/validate/{v1LegacyCruft.js → glossaryVariantGuard.js} +3 -38
- package/package.json +2 -2
- package/dist/cli/commands/prime/v1Migration.js +0 -38
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
schema_version: agentera.productV1ResetInventory.v1
|
|
2
|
+
status: product_v1_eol
|
|
3
|
+
policy:
|
|
4
|
+
trigger: any_declared_product_v1_generation_evidence
|
|
5
|
+
schema_identifier_suffix_is_evidence: false
|
|
6
|
+
discovery: declared_roots_only
|
|
7
|
+
preserve_unlisted_state: true
|
|
8
|
+
|
|
9
|
+
source_authorities:
|
|
10
|
+
retired_resources: references/adapters/runtime-retired-resources.yaml
|
|
11
|
+
package_inventory: references/adapters/package-registry.yaml
|
|
12
|
+
runtime_lifecycle: references/adapters/runtime-lifecycle-authority.yaml
|
|
13
|
+
|
|
14
|
+
trigger_evidence:
|
|
15
|
+
project_artifacts:
|
|
16
|
+
- id: project.progress_markdown
|
|
17
|
+
generation: product_v1
|
|
18
|
+
triggers_reset: true
|
|
19
|
+
path: .agentera/PROGRESS.md
|
|
20
|
+
current_path: .agentera/progress.yaml
|
|
21
|
+
- id: project.plan_markdown
|
|
22
|
+
generation: product_v1
|
|
23
|
+
triggers_reset: true
|
|
24
|
+
path: .agentera/PLAN.md
|
|
25
|
+
current_path: .agentera/plan.yaml
|
|
26
|
+
- id: project.decisions_markdown
|
|
27
|
+
generation: product_v1
|
|
28
|
+
triggers_reset: true
|
|
29
|
+
path: .agentera/DECISIONS.md
|
|
30
|
+
current_path: .agentera/decisions.yaml
|
|
31
|
+
- id: project.health_markdown
|
|
32
|
+
generation: product_v1
|
|
33
|
+
triggers_reset: true
|
|
34
|
+
path: .agentera/HEALTH.md
|
|
35
|
+
current_path: .agentera/health.yaml
|
|
36
|
+
- id: project.docs_markdown
|
|
37
|
+
generation: product_v1
|
|
38
|
+
triggers_reset: true
|
|
39
|
+
path: .agentera/DOCS.md
|
|
40
|
+
current_path: .agentera/docs.yaml
|
|
41
|
+
- id: project.design_markdown
|
|
42
|
+
generation: product_v1
|
|
43
|
+
triggers_reset: true
|
|
44
|
+
path: .agentera/DESIGN.md
|
|
45
|
+
current_path: .agentera/design.yaml
|
|
46
|
+
- id: project.vision_markdown
|
|
47
|
+
generation: product_v1
|
|
48
|
+
triggers_reset: false
|
|
49
|
+
path: VISION.md
|
|
50
|
+
current_path: .agentera/vision.yaml
|
|
51
|
+
installation_package:
|
|
52
|
+
id: installation.package-major-1
|
|
53
|
+
generation: product_v1
|
|
54
|
+
triggers_reset: true
|
|
55
|
+
authority: references/adapters/package-registry.yaml
|
|
56
|
+
manifest: registry.json
|
|
57
|
+
selector: skills[0].version
|
|
58
|
+
predicate: semver_major_equals_1
|
|
59
|
+
runtime_resources:
|
|
60
|
+
authority: references/adapters/runtime-retired-resources.yaml
|
|
61
|
+
role: reset_scope_only
|
|
62
|
+
reason: Runtime identities also existed in supported v2, so identity or content alone cannot prove product v1.
|
|
63
|
+
|
|
64
|
+
scope_inventory:
|
|
65
|
+
- id: project.state
|
|
66
|
+
action: delete
|
|
67
|
+
owner: project_state_reset
|
|
68
|
+
bounded_root: project
|
|
69
|
+
targets: [.agentera, TODO.md, VISION.md]
|
|
70
|
+
- id: profile.state
|
|
71
|
+
action: delete
|
|
72
|
+
owner: profile_state_reset
|
|
73
|
+
bounded_root: profile_root
|
|
74
|
+
targets: [.]
|
|
75
|
+
- id: installation.state
|
|
76
|
+
action: delete
|
|
77
|
+
owner: installation_state_reset
|
|
78
|
+
bounded_root: install_root
|
|
79
|
+
targets: [.]
|
|
80
|
+
- id: runtime.resources
|
|
81
|
+
action: delete
|
|
82
|
+
owner: runtime_retired_resource_reset
|
|
83
|
+
bounded_root: runtime_declared_roots
|
|
84
|
+
targets:
|
|
85
|
+
- "references/adapters/runtime-retired-resources.yaml#diagnostic_inventory"
|
|
86
|
+
- "references/adapters/runtime-retired-resources.yaml#configuration_inventory"
|
|
87
|
+
- id: project.fresh-v3
|
|
88
|
+
action: recreate
|
|
89
|
+
owner: canonical_fresh_v3_initializer
|
|
90
|
+
bounded_root: project
|
|
91
|
+
targets: [.agentera]
|
|
92
|
+
- id: installation.current-package
|
|
93
|
+
action: recreate
|
|
94
|
+
owner: package_inventory_installer
|
|
95
|
+
bounded_root: install_root
|
|
96
|
+
targets: ["references/adapters/package-registry.yaml#records[agentera].bundle_surfaces"]
|
|
97
|
+
- id: runtime.canonical-skill
|
|
98
|
+
action: recreate
|
|
99
|
+
owner: runtime_lifecycle_installer
|
|
100
|
+
bounded_root: runtime_declared_roots
|
|
101
|
+
targets: ["references/adapters/runtime-lifecycle-authority.yaml#canonical_skill"]
|
|
@@ -59,6 +59,17 @@ term_occurrence:
|
|
|
59
59
|
|
|
60
60
|
personal_mining_authority:
|
|
61
61
|
status: active_partial
|
|
62
|
+
design_proposal_reconciliation:
|
|
63
|
+
proposal: docs/notes/personal-glossary-mining-design.md
|
|
64
|
+
proposal_authority: non_authoritative_external_note_not_tracked_in_this_checkout
|
|
65
|
+
implementation_status: shipped_with_inferred_admission_deferred
|
|
66
|
+
shipped:
|
|
67
|
+
- consented_refresh_produces_generation_bound_candidate_projection
|
|
68
|
+
- fixed_key_aggregate_candidate_and_abstention_explanations
|
|
69
|
+
- profile_full_preserves_existing_glossary_before_authorized_publication
|
|
70
|
+
deferred:
|
|
71
|
+
- inferred_automatic_admission
|
|
72
|
+
canonical_status: this_contract
|
|
62
73
|
implementation_boundary: >-
|
|
63
74
|
This section settles personal glossary mining identity, evidence provenance,
|
|
64
75
|
consent, privacy, lifecycle, bounded explicit-discovery, public receipt construction,
|
|
@@ -67,7 +78,9 @@ personal_mining_authority:
|
|
|
67
78
|
validation of host semantic evidence, explicit authorized personal
|
|
68
79
|
publication, and Profile Full integration. It does not perform host
|
|
69
80
|
semantic classification, project or public-state candidate reads, or
|
|
70
|
-
project glossary integration.
|
|
81
|
+
project glossary integration. The consented refresh command is the shipped
|
|
82
|
+
projection producer. Inferred candidates remain review-required or abstain;
|
|
83
|
+
they are not automatically admitted.
|
|
71
84
|
preserved_decisions: [prmnztjytv, mcsmqqitnm, zyvgyvjnsv]
|
|
72
85
|
replacement:
|
|
73
86
|
shared_primitive: shared_primitive
|
|
@@ -544,10 +557,25 @@ personal_mining_authority:
|
|
|
544
557
|
outcomes: ordinary_permissions_and_io
|
|
545
558
|
same_user_path_manipulation: outside_agentera_threat_model
|
|
546
559
|
symlink_confinement: not_claimed
|
|
560
|
+
malformed_candidate_projection_replacement_exception:
|
|
561
|
+
scope: malformed_candidate_projection_replacement_only
|
|
562
|
+
authorization: explicit_consented_refresh_only
|
|
563
|
+
precondition: existing_owned_regular_file_is_malformed
|
|
564
|
+
target: exact_configured_candidate_projection_file
|
|
565
|
+
inspection: lstat_exact_target_without_following_symlinks
|
|
566
|
+
required_type: regular_file
|
|
567
|
+
reject: [symlink, non_regular_file, configured_path_mismatch, path_escape]
|
|
568
|
+
operation: atomic_regular_file_replacement
|
|
569
|
+
outside_scope: configured_path_use_as_provided
|
|
547
570
|
rule: >-
|
|
548
571
|
Agentera uses the configured profile path as provided. The host
|
|
549
572
|
filesystem owns permissions, symlink behavior, and same-user path
|
|
550
|
-
manipulation. Agentera does not add realpath or no-follow confinement
|
|
573
|
+
manipulation. Agentera does not add realpath or no-follow confinement
|
|
574
|
+
except when an explicit consented refresh replaces its malformed
|
|
575
|
+
candidate projection. That operation inspects only the exact configured
|
|
576
|
+
target without following a final symlink, requires a regular file, and
|
|
577
|
+
rejects symlinks, non-files, target mismatches, and path escapes. All
|
|
578
|
+
other operations keep the configured-path behavior above.
|
|
551
579
|
rule: >-
|
|
552
580
|
Agentera deliberately selects only the configured user profile path for
|
|
553
581
|
mining records. It never selects .agentera, TODO.md, progress, the
|
|
@@ -719,7 +747,71 @@ personal_mining_authority:
|
|
|
719
747
|
candidate_retrieval operation. It does not add project or public-state
|
|
720
748
|
candidate reads, host classification, CLI admission, review-disposition
|
|
721
749
|
writes, profile publication, project-glossary access, or project-state
|
|
722
|
-
|
|
750
|
+
effects.
|
|
751
|
+
refresh_production:
|
|
752
|
+
status: active
|
|
753
|
+
runtime: packages/cli/src/analytics/personalGlossaryRefreshProjection.ts#produceCurrentPersonalGlossaryProjection
|
|
754
|
+
trigger: explicit_consented_evidence_refresh_success
|
|
755
|
+
projection:
|
|
756
|
+
count: exactly_one
|
|
757
|
+
generation_binding: exact_published_evidence_generation
|
|
758
|
+
policy_binding: exact_personal_mining_policy_version
|
|
759
|
+
concurrency:
|
|
760
|
+
serialization: profile_local_exclusive_refresh_commit
|
|
761
|
+
lock_lifetime: before_evidence_publication_through_projection_binding_verification
|
|
762
|
+
ownership:
|
|
763
|
+
record: exact_regular_file_with_pid_random_token_and_creation_time
|
|
764
|
+
publication: prewritten_record_hard_linked_to_exclusive_canonical_path
|
|
765
|
+
inspection: no_follow_regular_file_with_stable_filesystem_identity
|
|
766
|
+
liveness: only_esrch_proves_owner_death
|
|
767
|
+
pid_reuse: live_or_indeterminate_pid_fails_closed
|
|
768
|
+
reclaim: one_exclusive_identity_checked_claim_replaces_only_a_proven_dead_owner
|
|
769
|
+
release: matching_token_record_and_filesystem_identity_only
|
|
770
|
+
unsafe: [malformed, foreign, symlink, non_file, changed_identity, indeterminate_owner]
|
|
771
|
+
recovery: inspect_exact_profile_local_lock_and_remove_only_after_verifying_no_refresh_owns_it_then_rerun_consented_refresh
|
|
772
|
+
contender:
|
|
773
|
+
refresh_outcome: failure
|
|
774
|
+
process_exit: nonzero
|
|
775
|
+
local_history_read: false
|
|
776
|
+
tier_write: false
|
|
777
|
+
projection_status: failed
|
|
778
|
+
projection_write: false
|
|
779
|
+
evidence_status: current_generation_remains_readable
|
|
780
|
+
recovery: npx -y agentera@next report refresh --consent local-history
|
|
781
|
+
partial_failure:
|
|
782
|
+
refresh_outcome: failure
|
|
783
|
+
process_exit: nonzero
|
|
784
|
+
evidence_status: published
|
|
785
|
+
projection_status: failed
|
|
786
|
+
tier_write_reporting: evidence_published_projection_not_written
|
|
787
|
+
current_generation: published_evidence_remains_current
|
|
788
|
+
safe_replacement:
|
|
789
|
+
authorization: explicit_consented_refresh_only
|
|
790
|
+
target: exact_configured_candidate_projection_file
|
|
791
|
+
precondition: existing_owned_regular_file_is_malformed
|
|
792
|
+
operation: atomic_regular_file_replacement
|
|
793
|
+
reject: [symlink, non_regular_file, configured_path_mismatch, path_escape]
|
|
794
|
+
filesystem_exception: personal_mining_authority.privacy.storage.filesystem.malformed_candidate_projection_replacement_exception
|
|
795
|
+
replaceable_state: [candidate_projection]
|
|
796
|
+
preserved_state:
|
|
797
|
+
- current_evidence_generation
|
|
798
|
+
- review_records
|
|
799
|
+
- personal_profile
|
|
800
|
+
- project_state
|
|
801
|
+
- project_glossary
|
|
802
|
+
rule: >-
|
|
803
|
+
A successful consented evidence refresh requires one projection bound to
|
|
804
|
+
that exact published generation and mining policy. Projection failure is
|
|
805
|
+
a nonzero refresh result but does not roll back the published evidence.
|
|
806
|
+
Authorized refreshes serialize evidence and projection commit; a
|
|
807
|
+
contender fails without reading history or writing evidence or projection.
|
|
808
|
+
The documented consented refresh reclaims a valid orphan only after owner
|
|
809
|
+
death is proven. Unknown ownership fails closed, and release removes only
|
|
810
|
+
the caller's unchanged token and filesystem identity.
|
|
811
|
+
A retry may replace only the exact configured owned regular projection
|
|
812
|
+
file; it rejects symlinks, non-files, path mismatches, and path escapes.
|
|
813
|
+
The refresh runtime mines and publishes this projection after evidence
|
|
814
|
+
publication succeeds.
|
|
723
815
|
selection:
|
|
724
816
|
candidates_max: 50
|
|
725
817
|
project_ids_max_per_candidate: 100
|
|
@@ -742,7 +834,68 @@ personal_mining_authority:
|
|
|
742
834
|
Each selection round prefers the represented source family with the
|
|
743
835
|
fewest retained candidates, then the candidate whose represented project
|
|
744
836
|
has the fewest retained candidates. A capped or uncovered family or
|
|
745
|
-
|
|
837
|
+
project reports degraded coverage with retained and dropped counts.
|
|
838
|
+
mining_summary:
|
|
839
|
+
schema_version: agentera.personalGlossaryMiningSummary.v1
|
|
840
|
+
location: report.mining_summary
|
|
841
|
+
family_fields: [candidate_count, abstention_count, abstentions_by_reason]
|
|
842
|
+
explicit_abstention_keys:
|
|
843
|
+
- attributed_quotation
|
|
844
|
+
- ambiguous_reference
|
|
845
|
+
- conflicting_meaning
|
|
846
|
+
- empty_meaning
|
|
847
|
+
- empty_term
|
|
848
|
+
- example_context
|
|
849
|
+
- hypothetical_definition
|
|
850
|
+
- malformed_span
|
|
851
|
+
- meaning_bound_exceeded
|
|
852
|
+
- negated_definition
|
|
853
|
+
- indirect_question
|
|
854
|
+
- future_definition
|
|
855
|
+
- project_only_scope
|
|
856
|
+
- question_definition
|
|
857
|
+
- retracted_definition
|
|
858
|
+
- sarcasm_marker
|
|
859
|
+
- stale_anchor
|
|
860
|
+
- structural_fragment
|
|
861
|
+
- term_bound_exceeded
|
|
862
|
+
- unsafe_syntax
|
|
863
|
+
- uncertain_scope
|
|
864
|
+
- unresolved_anchor
|
|
865
|
+
- provenance_incomplete
|
|
866
|
+
- user_authorship_required
|
|
867
|
+
recurring_abstention_keys:
|
|
868
|
+
- agent_only_evidence
|
|
869
|
+
- copied_content
|
|
870
|
+
- provenance_missing
|
|
871
|
+
- insufficient_independent_origins
|
|
872
|
+
- insufficient_projects
|
|
873
|
+
- insufficient_sessions
|
|
874
|
+
- conversation_evidence_incomplete
|
|
875
|
+
- conversation_evidence_bound_exceeded
|
|
876
|
+
- project_only_scope
|
|
877
|
+
- noise_term
|
|
878
|
+
- too_many_qualifying_origins
|
|
879
|
+
- user_authorship_required
|
|
880
|
+
reconciliation:
|
|
881
|
+
fixed_keys: all_keys_present_as_nonnegative_integers
|
|
882
|
+
family_abstentions: abstention_count_equals_sum_of_reason_counts
|
|
883
|
+
total_candidates: total_equals_explicit_plus_recurring_candidate_counts
|
|
884
|
+
total_abstentions: total_equals_explicit_plus_recurring_abstention_counts
|
|
885
|
+
projection_input: report_input_count_equals_total_candidate_count
|
|
886
|
+
forbidden_content:
|
|
887
|
+
- terms
|
|
888
|
+
- source_ids
|
|
889
|
+
- evidence_anchors
|
|
890
|
+
- project_ids
|
|
891
|
+
- project_keys
|
|
892
|
+
- paths
|
|
893
|
+
- excerpts
|
|
894
|
+
rule: >-
|
|
895
|
+
Persist the fixed explicit and recurring keys even when their count is
|
|
896
|
+
zero. Reconcile family and total counts before publication. This summary
|
|
897
|
+
contains counts only and never retains candidate, source, project, path,
|
|
898
|
+
anchor, or content identity.
|
|
746
899
|
excerpts:
|
|
747
900
|
source_max_utf8_bytes: 4096
|
|
748
901
|
max_per_candidate: 1
|
|
@@ -823,9 +976,10 @@ personal_mining_authority:
|
|
|
823
976
|
meaning, project label, project key, raw evidence identity, excerpt text,
|
|
824
977
|
or a per-row expanded command.
|
|
825
978
|
abstentions: >-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
979
|
+
The projection retains only the reconciled fixed-key aggregate mining
|
|
980
|
+
summary from candidate_projection.mining_summary. It never retains or
|
|
981
|
+
reconstructs individual upstream abstentions. Reads may return those
|
|
982
|
+
counts with projection-local selection and safe-context omission counts.
|
|
829
983
|
coverage: >-
|
|
830
984
|
Coverage remains the validated current projection report and is not
|
|
831
985
|
recomputed from a list filter or page.
|
|
@@ -1834,8 +1988,8 @@ ownership_contracts:
|
|
|
1834
1988
|
collision, or malformed existing state is a conflict and must never be
|
|
1835
1989
|
repaired or overwritten implicitly.
|
|
1836
1990
|
confirmed_variant_guard:
|
|
1837
|
-
owner: packages/cli/src/validate/
|
|
1838
|
-
validation_surface: packages/cli/test/cli/
|
|
1991
|
+
owner: packages/cli/src/validate/glossaryVariantGuard.ts#scanConfirmedVariantViolations
|
|
1992
|
+
validation_surface: packages/cli/test/cli/glossaryVariantGuard.test.ts
|
|
1839
1993
|
loader: packages/cli/src/state/write/glossaryPublication.ts#loadProjectGlossaryDocument
|
|
1840
1994
|
source_rule: >-
|
|
1841
1995
|
Resolve the glossary through the canonical artifact registry and consume
|
|
@@ -1279,11 +1279,6 @@ entity_migration:
|
|
|
1279
1279
|
phase_filters: >-
|
|
1280
1280
|
Every --only apply is invalid during a v2-to-v3 boundary. Read-only
|
|
1281
1281
|
filtered preview may remain available.
|
|
1282
|
-
legacy_projection: >-
|
|
1283
|
-
Canonical v2 YAML and already-resolved v1 conversions are inventoried
|
|
1284
|
-
directly. A pending v1 Markdown conversion is not projected through a
|
|
1285
|
-
prerequisite write during planning and therefore blocks the composed
|
|
1286
|
-
apply before effects.
|
|
1287
1282
|
lifecycle_normalization: >-
|
|
1288
1283
|
Deterministic legacy plan lifecycle normalization is part of entity
|
|
1289
1284
|
projection during cutover. Upgrade retains the original legacy YAML as
|
|
@@ -35,7 +35,7 @@ normalization_rules:
|
|
|
35
35
|
avoid: Calling host coding agents peers or extension hosts of Agentera; implying Agentera is a module loaded into the host.
|
|
36
36
|
- rule: /agentera is the main invocation.
|
|
37
37
|
use: /agentera, $agentera for Codex-specific docs
|
|
38
|
-
avoid: /hej
|
|
38
|
+
avoid: /hej.
|
|
39
39
|
- rule: The CLI source and rendered dashboard are different.
|
|
40
40
|
use: agentera prime source data, status dashboard rendered briefing
|
|
41
41
|
avoid: Treating raw CLI labels as the user-facing dashboard.
|
|
@@ -72,7 +72,7 @@ plain_language:
|
|
|
72
72
|
avoid: Bare freshness checkpoint
|
|
73
73
|
- use: Agentera app files need repair
|
|
74
74
|
avoid: bundle freshness gap in user-facing diagnostics
|
|
75
|
-
- use: v1
|
|
75
|
+
- use: product-v1 state requires an explicit reset
|
|
76
76
|
avoid: Bare upgrade guard in onboarding or recovery text
|
|
77
77
|
- use: checkpoint commit
|
|
78
78
|
avoid: Bare checkpoint
|
|
@@ -147,7 +147,6 @@ authoritative recovery command.
|
|
|
147
147
|
| Delegate | Orchestrate assigns approved plan work to a worker capability during an explicitly orchestrated flow. |
|
|
148
148
|
| Spawn | Build or Optimize asks the coding host to launch an isolated worker when the host provides that facility. |
|
|
149
149
|
| Worker mechanism | A host-provided worker facility. Agentera ships no host-specific worker descriptor, adapter, plugin, hook, or package. |
|
|
150
|
-
| Legacy bridge | Temporary v1 entry points, especially `/hej`, that guide users to `/agentera` and the v2 upgrade path. |
|
|
151
150
|
|
|
152
151
|
CLI-visible `agentera prime` labels are source labels. Preserve them in CLI tests
|
|
153
152
|
and parsing code, but transform them before presenting a user dashboard:
|
|
@@ -503,7 +502,7 @@ High-risk diagnostic rewrites:
|
|
|
503
502
|
| `bundle freshness guard failed` | `install status check failed` |
|
|
504
503
|
| `bundle refresh required` | `repair Agentera app files` |
|
|
505
504
|
| `app refresh required` | `Agentera app files need repair` or `Agentera app files are outdated` |
|
|
506
|
-
| `upgrade guard triggered` | `v1
|
|
505
|
+
| `upgrade guard triggered` | `product-v1 state requires an explicit reset` |
|
|
507
506
|
| `stale marker` | `missing or outdated version marker` |
|
|
508
507
|
| `artifact freshness failed` | `artifact is stale` or `artifact needs sync` |
|
|
509
508
|
|
|
@@ -513,7 +512,7 @@ High-signal source surfaces for this vocabulary:
|
|
|
513
512
|
|
|
514
513
|
| Source | Vocabulary surface |
|
|
515
514
|
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
516
|
-
| `skills/agentera/SKILL.md` | Routing entry, routing layers, CLI-first access, installed-app status check, and v1
|
|
515
|
+
| `skills/agentera/SKILL.md` | Routing entry, routing layers, CLI-first access, installed-app status check, and product-v1 reset boundary. |
|
|
517
516
|
| `skills/agentera/protocol.yaml` | Protocol primitives, glyphs, phases, visual tokens, exit signals. |
|
|
518
517
|
| `skills/agentera/capability_schema_contract.yaml` | Schema groups, priorities, stable IDs, primitive-reference fields. |
|
|
519
518
|
| `packages/cli/src/capabilities/*/instructions.ts` | Workflow grammar, capability roles, safety rails, exit marker forms. Loaded as a default-exported string constant; pre-cutover runtime serves it via `npx -y agentera@next prime --context <name> --format json`. |
|
|
@@ -14,6 +14,11 @@ inventory:
|
|
|
14
14
|
production_owner: { module: packages/cli/src/registries/packageRegistry.ts, symbol: loadRegistry }
|
|
15
15
|
consumers:
|
|
16
16
|
- { kind: runtime, module: packages/cli/src/registries/packageRegistry.ts, symbol: loadRegistry, consumption: loads }
|
|
17
|
+
- path: references/adapters/product-v1-reset.yaml
|
|
18
|
+
classification: current
|
|
19
|
+
production_owner: { module: packages/cli/src/upgrade/productV1ResetAuthority.ts, symbol: loadProductV1ResetAuthority }
|
|
20
|
+
consumers:
|
|
21
|
+
- { kind: runtime, module: packages/cli/src/upgrade/productV1ResetAuthority.ts, symbol: loadProductV1ResetAuthority, consumption: loads }
|
|
17
22
|
- path: references/analysis/evidence-tier-authority.yaml
|
|
18
23
|
classification: current
|
|
19
24
|
production_owner: { module: packages/cli/src/registries/evidenceTierContract.ts, symbol: loadEvidenceTierContract }
|
|
@@ -5,26 +5,7 @@
|
|
|
5
5
|
# for context on why choices were made.
|
|
6
6
|
#
|
|
7
7
|
# The active authority uses writer-owned decision, revision, and satisfaction
|
|
8
|
-
# entity files.
|
|
9
|
-
# legacy migration input schema; it is not an ordinary post-cutover contract.
|
|
10
|
-
#
|
|
11
|
-
# ── Field-by-field mapping: v1 DECISIONS.md → v2 decisions.yaml ──
|
|
12
|
-
#
|
|
13
|
-
# v1 Field v2 Field v2 ID
|
|
14
|
-
# ─────────────────────────────────────────────────────────────────────
|
|
15
|
-
# ## Decision N · date DECISION.number DC1
|
|
16
|
-
# (date from heading) DECISION.date DC2
|
|
17
|
-
# **Question**: <text> DECISION.question DC3
|
|
18
|
-
# **Context**: <text> DECISION.context DC4
|
|
19
|
-
# **Alternatives**: (list) ALTERNATIVE entry DA1
|
|
20
|
-
# (named alt, e.g. "[Foo], chosen") ALTERNATIVE.name DA2
|
|
21
|
-
# (chosen/rejected status) ALTERNATIVE.status DA3
|
|
22
|
-
# **Choice**: <text> DECISION.choice DC5
|
|
23
|
-
# **Reasoning**: <text> DECISION.reasoning DC6
|
|
24
|
-
# **Confidence**: <label> DECISION.confidence DC7
|
|
25
|
-
# **Feeds into**: <text> DECISION.feeds_into DC8
|
|
26
|
-
# ## Archived Decisions (implicit section) —
|
|
27
|
-
# - Decision N (date): [Choice] — ... ARCHIVE.summary DR1
|
|
8
|
+
# entity files.
|
|
28
9
|
#
|
|
29
10
|
# Protocol references:
|
|
30
11
|
# confidence: DL1-DL3 (protocol.yaml DECISION_LABELS)
|
|
@@ -10,37 +10,6 @@
|
|
|
10
10
|
# Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
|
|
11
11
|
# following capability_schema_contract.yaml and protocol.yaml conventions.
|
|
12
12
|
#
|
|
13
|
-
# ── Field-by-field mapping: v1 DOCS.md → v2 docs.yaml ──
|
|
14
|
-
#
|
|
15
|
-
# v1 Field v2 Field v2 ID
|
|
16
|
-
# ─────────────────────────────────────────────────────────────────────
|
|
17
|
-
# <!-- Last audit: date (label) --> HEADER.last_audit DH1
|
|
18
|
-
# ## Conventions / doc_root CONVENTIONS.doc_root DC1
|
|
19
|
-
# ## Conventions / style CONVENTIONS.style DC2
|
|
20
|
-
# ## Conventions / auto_gen CONVENTIONS.auto_gen DC3
|
|
21
|
-
# ## Conventions / version_files CONVENTIONS.version_files DC4
|
|
22
|
-
# ## Conventions / semver_policy CONVENTIONS.semver_policy DC5
|
|
23
|
-
# ## Artifact Mapping / table row MAPPING.entry DM1
|
|
24
|
-
# (Artifact column) MAPPING.artifact DM2
|
|
25
|
-
# (Path column) MAPPING.path DM3
|
|
26
|
-
# (Producers column) MAPPING.producers DM4
|
|
27
|
-
# ## Index / table row INDEX.entry DI1
|
|
28
|
-
# (Document column) INDEX.document DI2
|
|
29
|
-
# (Path column) INDEX.path DI3
|
|
30
|
-
# (Last Updated column) INDEX.last_updated DI4
|
|
31
|
-
# (Status column) INDEX.status DI5
|
|
32
|
-
# ## Coverage / Documented COVERAGE.documented DV1
|
|
33
|
-
# ## Coverage / Undocumented COVERAGE.undocumented DV2
|
|
34
|
-
# ## Coverage / Stale COVERAGE.stale DV3
|
|
35
|
-
# ## Coverage / Tests COVERAGE.tests DV4
|
|
36
|
-
# ## Audit Log / ### date (label) AUDIT_LOG.entry DA1
|
|
37
|
-
# (audit date from heading) AUDIT_LOG.date DA2
|
|
38
|
-
# (audit label from heading) AUDIT_LOG.label DA3
|
|
39
|
-
# - [finding_type] description FINDING.type DF1
|
|
40
|
-
# (severity from context) FINDING.severity DF2
|
|
41
|
-
# (description text) FINDING.description DF3
|
|
42
|
-
# (resolution: fixed/deferred) FINDING.resolution DF4
|
|
43
|
-
#
|
|
44
13
|
# Protocol references:
|
|
45
14
|
# visual tokens: VT1 (protocol.yaml VISUAL_TOKENS, status: current)
|
|
46
15
|
# severity: SF1-SF3 (protocol.yaml SEVERITY_FINDING)
|
|
@@ -7,31 +7,6 @@
|
|
|
7
7
|
# Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
|
|
8
8
|
# following capability_schema_contract.yaml and protocol.yaml conventions.
|
|
9
9
|
#
|
|
10
|
-
# ── Field-by-field mapping: v1 EXPERIMENTS.md → v2 experiments.yaml ──
|
|
11
|
-
#
|
|
12
|
-
# v1 Field v2 Field v2 ID
|
|
13
|
-
# ─────────────────────────────────────────────────────────────────────
|
|
14
|
-
# ## Experiment N · date · label EXPERIMENT.number EX1
|
|
15
|
-
# (date from heading) EXPERIMENT.date EX2
|
|
16
|
-
# (label from heading) EXPERIMENT.label EX3
|
|
17
|
-
# **Hypothesis**: <text> EXPERIMENT.hypothesis EX4
|
|
18
|
-
# **Method**: <text> EXPERIMENT.method EX5
|
|
19
|
-
# **Change**: <text> EXPERIMENT.change EX6
|
|
20
|
-
# **Metric**: <text> + tables EXPERIMENT.metric EX7
|
|
21
|
-
# **Regression**: <text> EXPERIMENT.regression EX8
|
|
22
|
-
# **Status**: kept/discarded/baseline EXPERIMENT.status EX9
|
|
23
|
-
# **Conclusion**: <text> EXPERIMENT.conclusion EX10
|
|
24
|
-
# **Next**: <text> EXPERIMENT.next EX11
|
|
25
|
-
# **Escalation**: <text> EXPERIMENT.escalation EX12
|
|
26
|
-
# **Target progress**: <text> EXPERIMENT.target_progress EX13
|
|
27
|
-
# **Brainstorm iteration log** EXPERIMENT.iteration_log EX14
|
|
28
|
-
# ## Closure · date CLOSURE.date EC1
|
|
29
|
-
# **Final value**: <value> CLOSURE.final_value EC2
|
|
30
|
-
# **Target**: <target> CLOSURE.target EC3
|
|
31
|
-
# **Reason**: <text> CLOSURE.reason EC4
|
|
32
|
-
# ## Archived Experiments (implicit section) —
|
|
33
|
-
# - EXP-N: result summary ARCHIVE.summary EA1
|
|
34
|
-
#
|
|
35
10
|
# Protocol references:
|
|
36
11
|
# status visual tokens: VT1-VT3 (protocol.yaml VISUAL_TOKENS)
|
|
37
12
|
# trend tokens: VT12-VT13 (protocol.yaml VISUAL_TOKENS)
|
|
@@ -83,5 +83,5 @@ ADVICE_RESOLUTION:
|
|
|
83
83
|
CONFIRMED_VARIANT_GUARD:
|
|
84
84
|
authority: references/artifacts/glossary-entry-contract.yaml#ownership_contracts.project.confirmed_variant_guard
|
|
85
85
|
implementation: active
|
|
86
|
-
validation_surface: packages/cli/test/cli/
|
|
86
|
+
validation_surface: packages/cli/test/cli/glossaryVariantGuard.test.ts
|
|
87
87
|
consumer_lookup: forbidden
|
|
@@ -6,42 +6,7 @@
|
|
|
6
6
|
# counts), overall trajectory, per-dimension grades (A-F), per-dimension
|
|
7
7
|
# findings with confidence, and trend analysis against the prior audit.
|
|
8
8
|
#
|
|
9
|
-
# The active authority is one health_audit entity per writer-owned file.
|
|
10
|
-
# numbered projection model below is retained only as an exact legacy migration
|
|
11
|
-
# input schema; it is not an ordinary read or write contract after cutover.
|
|
12
|
-
#
|
|
13
|
-
# ── Field-by-field mapping: v1 HEALTH.md → v2 health.yaml ──
|
|
14
|
-
#
|
|
15
|
-
# v1 Field v2 Field v2 ID
|
|
16
|
-
# ─────────────────────────────────────────────────────────────────────
|
|
17
|
-
# ## Audit N · date AUDIT.number HA1
|
|
18
|
-
# (date from heading) AUDIT.date HA2
|
|
19
|
-
# (CLI append time) AUDIT.appended_at HA7
|
|
20
|
-
# **Dimensions assessed**: <list> AUDIT.dimensions HA3
|
|
21
|
-
# **Findings**: N crit, N warn, N info AUDIT.findings_summary HA4
|
|
22
|
-
# **Overall trajectory**: <text> AUDIT.trajectory HA5
|
|
23
|
-
# **Grades**: Dim [X] | Dim [Y] AUDIT.grades HA6
|
|
24
|
-
# ### Dimension: grade DIMENSION.name HD1
|
|
25
|
-
# (grade from heading) DIMENSION.grade HD2
|
|
26
|
-
# #### finding text FINDING.heading HF1
|
|
27
|
-
# - **Location**: <text> FINDING.location HF2
|
|
28
|
-
# - **Evidence**: <text> FINDING.evidence HF3
|
|
29
|
-
# - **Impact**: <text> FINDING.impact HF4
|
|
30
|
-
# - **Suggested action**: <text> FINDING.suggested_action HF5
|
|
31
|
-
# (severity glyph from prefix) FINDING.severity HF6
|
|
32
|
-
# (confidence from parenthetical) FINDING.confidence HF7
|
|
33
|
-
# ### Trends vs Audit N TRENDS.entry HT1
|
|
34
|
-
# - **Improved**: <text> TRENDS.improved HT2
|
|
35
|
-
# - **Degraded**: <text> TRENDS.degraded HT3
|
|
36
|
-
# - **Stable**: <text> TRENDS.stable HT4
|
|
37
|
-
# - **New findings**: <text> TRENDS.new_findings HT5
|
|
38
|
-
# - **Resolved**: <text> TRENDS.resolved HT6
|
|
39
|
-
# - **Carried forward**: <text> TRENDS.carried_forward HT7
|
|
40
|
-
# ### Patterns Observed PATTERNS.heading HP1
|
|
41
|
-
# - Pattern text PATTERNS.entry HP2
|
|
42
|
-
# ## Archived Audits (implicit section) —
|
|
43
|
-
# ### Audit N · date (summary) ARCHIVE.summary HR1
|
|
44
|
-
#
|
|
9
|
+
# The active authority is one health_audit entity per writer-owned file.
|
|
45
10
|
# Protocol references:
|
|
46
11
|
# severity: SF1-SF3 (protocol.yaml SEVERITY_FINDING)
|
|
47
12
|
# confidence: CS1-CS5 (protocol.yaml CONFIDENCE_SCALE)
|
|
@@ -7,37 +7,6 @@
|
|
|
7
7
|
# Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
|
|
8
8
|
# following capability_schema_contract.yaml and protocol.yaml conventions.
|
|
9
9
|
#
|
|
10
|
-
# ── Field-by-field mapping: v1 OBJECTIVE.md → v2 objective.yaml ──
|
|
11
|
-
#
|
|
12
|
-
# v1 Field v2 Field v2 ID
|
|
13
|
-
# ─────────────────────────────────────────────────────────────────────
|
|
14
|
-
# # <title> HEADER.title OB1
|
|
15
|
-
# **Status**: <status> HEADER.status OB2
|
|
16
|
-
# **Closed at**: <timestamp> HEADER.closed_at OB3
|
|
17
|
-
# **Final value**: <value> HEADER.final_value OB4
|
|
18
|
-
# **Target**: <target> HEADER.target_ref OB5
|
|
19
|
-
# **Reason**: <text> HEADER.reason OB6
|
|
20
|
-
# ## Objective / description OBJECTIVE.description OJ1
|
|
21
|
-
# ### Two-tier metric (or single) OBJECTIVE.metric_type OJ2
|
|
22
|
-
# **Tier 1 (primary metric)**: <text> METRIC.description OM1
|
|
23
|
-
# Direction/Unit/Variance METRIC.direction OM2
|
|
24
|
-
# METRIC.unit OM3
|
|
25
|
-
# METRIC.variance OM4
|
|
26
|
-
# **Tier 2 (behavioral)**: <text> VALIDATION.description OV1
|
|
27
|
-
# **Keep gate**: <text> VALIDATION.keep_gate OV2
|
|
28
|
-
# **Discard gate**: <text> VALIDATION.discard_gate OV3
|
|
29
|
-
# ### Why two tiers OBJECTIVE.rationale OJ3
|
|
30
|
-
# ## Why this matters OBJECTIVE.why OJ4
|
|
31
|
-
# ## Measurement OBJECTIVE.measurement OJ5
|
|
32
|
-
# ## Gates GATES.description OG1
|
|
33
|
-
# **Causal**: <text> GATES.causal OG2
|
|
34
|
-
# **Structural**: <text> GATES.structural OG3
|
|
35
|
-
# **Regression**: <text> GATES.regression OG4
|
|
36
|
-
# ## Constraints OBJECTIVE.constraints OJ6
|
|
37
|
-
# ## Scope / In scope SCOPE.included OS1
|
|
38
|
-
# ## Scope / Out of scope SCOPE.excluded OS2
|
|
39
|
-
# ## Baseline BASELINE.description OB7
|
|
40
|
-
# ## Measurement model BASELINE.model_notes OB8
|
|
41
10
|
#
|
|
42
11
|
# Protocol references:
|
|
43
12
|
# exit signals: EX1-EX4 (protocol.yaml EXIT_SIGNALS)
|