agentera 0.0.0 → 3.0.0-dev.1
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 +6 -45
- package/bundle/.agentera-npx-bundle.json +4 -0
- package/bundle/references/adapters/cursor.md +213 -0
- package/bundle/references/adapters/opencode.md +530 -0
- package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
- package/bundle/references/adapters/package-registry.yaml +247 -0
- package/bundle/references/adapters/package-surface-characterization.md +48 -0
- package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
- package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
- package/bundle/references/adapters/runtime-feature-parity.md +189 -0
- package/bundle/references/analysis/benchmark.md +267 -0
- package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +241 -0
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
- package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
- package/bundle/references/cli/capability-tool-classification.yaml +53 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
- package/bundle/references/cli/update-channels.yaml +147 -0
- package/bundle/references/cli/vocabulary-index.yaml +160 -0
- package/bundle/references/cli/vocabulary.md +566 -0
- package/bundle/references/meta/documentation-inventory.md +43 -0
- package/bundle/references/v1-section-mapping.md +47 -0
- package/bundle/registry.json +39 -0
- package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
- package/bundle/skills/agentera/SKILL.md +470 -0
- package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
- package/bundle/skills/agentera/agents/hej.toml +6 -0
- package/bundle/skills/agentera/agents/inspektera.toml +6 -0
- package/bundle/skills/agentera/agents/inspirera.toml +6 -0
- package/bundle/skills/agentera/agents/optimera.toml +6 -0
- package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
- package/bundle/skills/agentera/agents/planera.toml +6 -0
- package/bundle/skills/agentera/agents/profilera.toml +6 -0
- package/bundle/skills/agentera/agents/realisera.toml +6 -0
- package/bundle/skills/agentera/agents/resonera.toml +6 -0
- package/bundle/skills/agentera/agents/visionera.toml +6 -0
- package/bundle/skills/agentera/agents/visualisera.toml +6 -0
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
- package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
- package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
- package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
- package/bundle/skills/agentera/protocol.yaml +463 -0
- package/bundle/skills/agentera/references/contract.md +1039 -0
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
- package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
- package/bundle/skills/hej/SKILL.md +69 -0
- package/bundle/skills/hej/agents/hej.toml +11 -0
- package/bundle/skills/hej/agents/openai.yaml +8 -0
- package/dist/analytics/extractCorpus.js +1791 -0
- package/dist/analytics/extractCorpus.js.map +1 -0
- package/dist/analytics/usageStats.js +487 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/bin/agentera.js +4 -0
- package/dist/bin/agentera.js.map +1 -0
- package/dist/cli/appContext.js +226 -0
- package/dist/cli/appContext.js.map +1 -0
- package/dist/cli/argvalidate.js +41 -0
- package/dist/cli/argvalidate.js.map +1 -0
- package/dist/cli/capabilityContext.js +2421 -0
- package/dist/cli/capabilityContext.js.map +1 -0
- package/dist/cli/commands/backfill.js +84 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/capability.js +44 -0
- package/dist/cli/commands/capability.js.map +1 -0
- package/dist/cli/commands/compact.js +148 -0
- package/dist/cli/commands/compact.js.map +1 -0
- package/dist/cli/commands/doctor.js +180 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/lint.js +179 -0
- package/dist/cli/commands/lint.js.map +1 -0
- package/dist/cli/commands/prime.js +544 -0
- package/dist/cli/commands/prime.js.map +1 -0
- package/dist/cli/commands/query.js +346 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/report.js +210 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/schema.js +306 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/state.js +1012 -0
- package/dist/cli/commands/state.js.map +1 -0
- package/dist/cli/commands/upgrade.js +48 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.js +519 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.js +204 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/dispatch.js +958 -0
- package/dist/cli/dispatch.js.map +1 -0
- package/dist/cli/orientation.js +595 -0
- package/dist/cli/orientation.js.map +1 -0
- package/dist/cli/prime-blob.js +3 -0
- package/dist/cli/prime-blob.js.map +1 -0
- package/dist/cli/stateQuery.js +292 -0
- package/dist/cli/stateQuery.js.map +1 -0
- package/dist/cli/structured.js +18 -0
- package/dist/cli/structured.js.map +1 -0
- package/dist/core/difflib.js +274 -0
- package/dist/core/difflib.js.map +1 -0
- package/dist/core/git.js +43 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/paths.js +50 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/pyjson.js +101 -0
- package/dist/core/pyjson.js.map +1 -0
- package/dist/core/sourceRoot.js +72 -0
- package/dist/core/sourceRoot.js.map +1 -0
- package/dist/core/toml.js +11 -0
- package/dist/core/toml.js.map +1 -0
- package/dist/core/yaml.js +25 -0
- package/dist/core/yaml.js.map +1 -0
- package/dist/eval/evalSkills.js +258 -0
- package/dist/eval/evalSkills.js.map +1 -0
- package/dist/eval/semanticEval.js +148 -0
- package/dist/eval/semanticEval.js.map +1 -0
- package/dist/eval/semanticFixtures.js +227 -0
- package/dist/eval/semanticFixtures.js.map +1 -0
- package/dist/hooks/common.js +160 -0
- package/dist/hooks/common.js.map +1 -0
- package/dist/hooks/compaction.js +935 -0
- package/dist/hooks/compaction.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +19 -0
- package/dist/hooks/cursorPreToolUse.js.map +1 -0
- package/dist/hooks/cursorSessionStart.js +71 -0
- package/dist/hooks/cursorSessionStart.js.map +1 -0
- package/dist/hooks/sessionStart.js +209 -0
- package/dist/hooks/sessionStart.js.map +1 -0
- package/dist/hooks/sessionStop.js +212 -0
- package/dist/hooks/sessionStop.js.map +1 -0
- package/dist/hooks/validateArtifact.js +933 -0
- package/dist/hooks/validateArtifact.js.map +1 -0
- package/dist/registries/artifactRegistry.js +206 -0
- package/dist/registries/artifactRegistry.js.map +1 -0
- package/dist/registries/capabilityContract.js +310 -0
- package/dist/registries/capabilityContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +641 -0
- package/dist/registries/packageRegistry.js.map +1 -0
- package/dist/registries/runtimeAdapterRegistry.js +315 -0
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
- package/dist/setup/codex.js +1056 -0
- package/dist/setup/codex.js.map +1 -0
- package/dist/setup/copilot.js +227 -0
- package/dist/setup/copilot.js.map +1 -0
- package/dist/setup/cursor.js +127 -0
- package/dist/setup/cursor.js.map +1 -0
- package/dist/setup/doctor.js +1276 -0
- package/dist/setup/doctor.js.map +1 -0
- package/dist/state/installRoot.js +279 -0
- package/dist/state/installRoot.js.map +1 -0
- package/dist/state/progressCommit.js +289 -0
- package/dist/state/progressCommit.js.map +1 -0
- package/dist/state/startupAnalysis.js +1953 -0
- package/dist/state/startupAnalysis.js.map +1 -0
- package/dist/upgrade/appModel.js +189 -0
- package/dist/upgrade/appModel.js.map +1 -0
- package/dist/upgrade/channels.js +208 -0
- package/dist/upgrade/channels.js.map +1 -0
- package/dist/upgrade/compatibility.js +201 -0
- package/dist/upgrade/compatibility.js.map +1 -0
- package/dist/upgrade/doctor.js +373 -0
- package/dist/upgrade/doctor.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +332 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +484 -0
- package/dist/upgrade/runtimeMigration.js.map +1 -0
- package/dist/upgrade/upgradeCommands.js +36 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +299 -0
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
- package/dist/upgrade/versionResolution.js +179 -0
- package/dist/upgrade/versionResolution.js.map +1 -0
- package/dist/validate/appHomeContract.js +150 -0
- package/dist/validate/appHomeContract.js.map +1 -0
- package/dist/validate/capability.js +412 -0
- package/dist/validate/capability.js.map +1 -0
- package/dist/validate/crossCapability.js +145 -0
- package/dist/validate/crossCapability.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +772 -0
- package/dist/validate/lifecycleAdapters.js.map +1 -0
- package/dist/validate/selfAudit.js +107 -0
- package/dist/validate/selfAudit.js.map +1 -0
- package/package.json +28 -8
- package/LICENSE +0 -201
- package/bin/agentera.mjs +0 -50
- package/lib/exec.mjs +0 -116
- package/lib/resolve.mjs +0 -129
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
contract: startup_state_access_measurement
|
|
2
|
+
version: startup-state-analysis-v1
|
|
3
|
+
status: draft
|
|
4
|
+
purpose: >-
|
|
5
|
+
Define the local-only, privacy-preserving contract for measuring Agentera
|
|
6
|
+
capability startup/state-gathering overhead after v2.3.0. The measured defect
|
|
7
|
+
is raw Agentera artifact access after Agentera CLI state calls before
|
|
8
|
+
implementation work begins.
|
|
9
|
+
|
|
10
|
+
boundary:
|
|
11
|
+
source: git tag evidence
|
|
12
|
+
tag: v2.3.0
|
|
13
|
+
commit: b18e3dc7d768d4ad2726880916e7cfe6bd8617d3
|
|
14
|
+
committed_at: '2026-05-12T17:50:13+02:00'
|
|
15
|
+
rule: include records with timestamps strictly after committed_at
|
|
16
|
+
|
|
17
|
+
section_22_compatibility:
|
|
18
|
+
consumes_adapter_version: agentera-v2-corpus-1
|
|
19
|
+
required_record_families:
|
|
20
|
+
- conversation_turn
|
|
21
|
+
- tool_call
|
|
22
|
+
optional_record_families:
|
|
23
|
+
- instruction_document
|
|
24
|
+
- history_prompt
|
|
25
|
+
- project_config_signal
|
|
26
|
+
base_envelope_changes: none
|
|
27
|
+
output_envelope: startup_state_analysis_v1
|
|
28
|
+
extension_rule: >-
|
|
29
|
+
Do not add required fields to the Section 22 corpus envelope. If startup
|
|
30
|
+
state analysis needs derived fields, write them under a separate versioned
|
|
31
|
+
startup_state_analysis_v1 output or an optional
|
|
32
|
+
analysis_extensions.startup_state_v1 object ignored by extract_corpus.py
|
|
33
|
+
and usage_stats.py.
|
|
34
|
+
|
|
35
|
+
benchmark_execution:
|
|
36
|
+
rule: manual_only
|
|
37
|
+
command_surface: mage bench:startupState
|
|
38
|
+
normal_ci: forbidden
|
|
39
|
+
live_host_checks: forbidden_by_default
|
|
40
|
+
runtime_path_approval: >-
|
|
41
|
+
Running mage bench:startupState authorizes inspection of the documented
|
|
42
|
+
default runtime stores for codex, claude-code, opencode, and github-copilot.
|
|
43
|
+
Custom runtime history sources must be supplied as exact runtime labels and
|
|
44
|
+
concrete filesystem paths. A generic consent flag or runtime label without
|
|
45
|
+
its concrete path is insufficient for custom sources.
|
|
46
|
+
default_run: >-
|
|
47
|
+
The Mage benchmark target runs without environment variables by inspecting
|
|
48
|
+
documented runtime-store defaults, writing aggregate history under the default
|
|
49
|
+
Agentera benchmark directory, and reporting missing or unavailable stores as
|
|
50
|
+
bounded degradation evidence.
|
|
51
|
+
incremental_rule: >-
|
|
52
|
+
Runtime-store benchmark runs use retained aggregate history as the only
|
|
53
|
+
durable watermark source. The first run for a runtime scope analyzes all
|
|
54
|
+
post-boundary records; later runs for the same runtime_scope analyze only
|
|
55
|
+
records with timestamps strictly after the previous successful
|
|
56
|
+
benchmark_watermark_at.
|
|
57
|
+
metric_source_of_truth: scripts/startup_analysis_contract.py
|
|
58
|
+
startup_state_envelope_scope: excluded
|
|
59
|
+
|
|
60
|
+
runtime_extraction_contract:
|
|
61
|
+
supported_runtime_order:
|
|
62
|
+
- codex
|
|
63
|
+
- claude-code
|
|
64
|
+
- opencode
|
|
65
|
+
- github-copilot
|
|
66
|
+
normalized_record_fields:
|
|
67
|
+
required:
|
|
68
|
+
- source_id
|
|
69
|
+
- timestamp
|
|
70
|
+
- project_id
|
|
71
|
+
- source_kind
|
|
72
|
+
- runtime
|
|
73
|
+
- adapter_version
|
|
74
|
+
- data
|
|
75
|
+
optional:
|
|
76
|
+
- project_path
|
|
77
|
+
- session_id
|
|
78
|
+
startup_required_semantics:
|
|
79
|
+
- runtime label
|
|
80
|
+
- timestamp
|
|
81
|
+
- conversation key from conversation_key, session_id, data.session_id, or source_id
|
|
82
|
+
- conversation_turn records with data.actor and data.content
|
|
83
|
+
- tool_call records with data.tool_name and data.arguments
|
|
84
|
+
runtime_status_outcomes:
|
|
85
|
+
schema_divergent:
|
|
86
|
+
status: degraded
|
|
87
|
+
reason: schema_divergent
|
|
88
|
+
rule: >-
|
|
89
|
+
One or more candidate runtime files or databases were found, but adapter
|
|
90
|
+
parsing encountered schema errors. This is extraction failure evidence,
|
|
91
|
+
not a successful zero-record benchmark window.
|
|
92
|
+
required_counts:
|
|
93
|
+
- candidate_count when discovery can count candidates
|
|
94
|
+
- record_count, which may be zero or partial
|
|
95
|
+
- error_count greater than zero
|
|
96
|
+
current_examples:
|
|
97
|
+
- runtime: claude-code
|
|
98
|
+
candidate_count: 4836
|
|
99
|
+
record_count: 0
|
|
100
|
+
error_count: 2
|
|
101
|
+
- runtime: github-copilot
|
|
102
|
+
candidate_count: 1
|
|
103
|
+
record_count: 0
|
|
104
|
+
error_count: 1
|
|
105
|
+
no_matching_records:
|
|
106
|
+
status: sparse
|
|
107
|
+
reason: no_matching_records
|
|
108
|
+
rule: >-
|
|
109
|
+
Candidate runtime storage was readable and matched an accepted store
|
|
110
|
+
shape, but no supported message or tool records were extracted. This is
|
|
111
|
+
sparse coverage evidence and remains distinct from schema divergence.
|
|
112
|
+
required_counts:
|
|
113
|
+
- candidate_count when discovery can count candidates
|
|
114
|
+
- "record_count: 0"
|
|
115
|
+
- no error_count greater than zero
|
|
116
|
+
successful_zero_record_window:
|
|
117
|
+
status: ok
|
|
118
|
+
reason: records_extracted
|
|
119
|
+
rule: >-
|
|
120
|
+
Adapter extraction succeeded for the runtime scope, but the benchmark
|
|
121
|
+
incremental window contains zero records after the previous successful
|
|
122
|
+
watermark. This is compatible successful behavior, not degradation.
|
|
123
|
+
required_counts:
|
|
124
|
+
- "record_count: 0"
|
|
125
|
+
- "error_count: 0"
|
|
126
|
+
current_examples:
|
|
127
|
+
- runtime: codex
|
|
128
|
+
record_count: 0
|
|
129
|
+
error_count: 0
|
|
130
|
+
supported_runtimes:
|
|
131
|
+
codex:
|
|
132
|
+
accepted_input_schema_classes:
|
|
133
|
+
- JSONL session files containing session_meta or turn_context records
|
|
134
|
+
- JSONL response_item or user_msg message records
|
|
135
|
+
- JSONL tool_call or function_call records with payload item, name, and arguments variants
|
|
136
|
+
normalized_record_fields:
|
|
137
|
+
conversation_turn: [runtime, timestamp, session_id, project_id, data.actor, data.content]
|
|
138
|
+
tool_call: [runtime, timestamp, session_id, project_id, data.tool_name, data.arguments]
|
|
139
|
+
status_mapping:
|
|
140
|
+
records extracted without adapter errors: ok / records_extracted
|
|
141
|
+
readable candidates but no supported records: sparse / no_matching_records
|
|
142
|
+
unreadable or locked store: degraded / store_unreadable or store_locked
|
|
143
|
+
parser/schema errors: degraded / schema_divergent
|
|
144
|
+
redaction_rules:
|
|
145
|
+
- Do not retain transcript content from content, text, message, prompt, input_text, or output_text.
|
|
146
|
+
- Do not retain cwd, project_path, store_path, file_path, raw session ids, or generated salted hashes.
|
|
147
|
+
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
148
|
+
claude-code:
|
|
149
|
+
accepted_input_schema_classes:
|
|
150
|
+
- JSONL project session files with top-level role or type user/assistant events
|
|
151
|
+
- JSONL message objects with nested message.role plus content/text/message content variants
|
|
152
|
+
- JSONL tool_call, function_call, or tool_use records with argument/input variants
|
|
153
|
+
normalized_record_fields:
|
|
154
|
+
conversation_turn: [runtime, timestamp, session_id, project_id, data.actor, data.content]
|
|
155
|
+
tool_call: [runtime, timestamp, session_id, project_id, data.tool_name, data.arguments]
|
|
156
|
+
status_mapping:
|
|
157
|
+
records extracted without adapter errors: ok / records_extracted
|
|
158
|
+
readable candidates but no supported records: sparse / no_matching_records
|
|
159
|
+
unreadable or locked store: degraded / store_unreadable or store_locked
|
|
160
|
+
parser/schema errors: degraded / schema_divergent
|
|
161
|
+
redaction_rules:
|
|
162
|
+
- Do not retain raw project directories encoded in Claude project filenames or cwd fields.
|
|
163
|
+
- Do not retain transcript content, raw session ids, raw store paths, or generated salted hashes.
|
|
164
|
+
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
165
|
+
opencode:
|
|
166
|
+
accepted_input_schema_classes:
|
|
167
|
+
- SQLite opencode.db with session, message, and part tables
|
|
168
|
+
- session id columns id, session_id, or sessionID
|
|
169
|
+
- message/part join, role, timestamp, text/content, and JSON data column variants
|
|
170
|
+
- tool parts encoded as part type tool or JSON data.tool with state.input arguments
|
|
171
|
+
normalized_record_fields:
|
|
172
|
+
conversation_turn: [runtime, timestamp, session_id, project_id, data.actor, data.content]
|
|
173
|
+
tool_call: [runtime, timestamp, session_id, project_id, data.tool_name, data.arguments]
|
|
174
|
+
status_mapping:
|
|
175
|
+
records extracted without adapter errors: ok / records_extracted
|
|
176
|
+
readable candidates but no supported records: sparse / no_matching_records
|
|
177
|
+
missing required tables or join columns: degraded / schema_divergent
|
|
178
|
+
unreadable or locked store: degraded / store_unreadable or store_locked
|
|
179
|
+
redaction_rules:
|
|
180
|
+
- Do not retain SQLite file paths, project paths, transcript text, raw session ids, or generated salted hashes.
|
|
181
|
+
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
182
|
+
github-copilot:
|
|
183
|
+
accepted_input_schema_classes:
|
|
184
|
+
- SQLite session-store.db with sessions and turns tables
|
|
185
|
+
- session id columns id, session_id, or sessionID
|
|
186
|
+
- turns columns for session linkage, role, text/content/message/prompt/response, timestamp, and ordering variants
|
|
187
|
+
- turns JSON payload or tool columns containing tool_name/name/tool plus arguments/input/command variants
|
|
188
|
+
normalized_record_fields:
|
|
189
|
+
conversation_turn: [runtime, timestamp, session_id, project_id, data.actor, data.content]
|
|
190
|
+
tool_call: [runtime, timestamp, session_id, project_id, data.tool_name, data.arguments]
|
|
191
|
+
status_mapping:
|
|
192
|
+
records extracted without adapter errors: ok / records_extracted
|
|
193
|
+
readable candidates but no supported records: sparse / no_matching_records
|
|
194
|
+
missing required tables, join columns, role, or text columns: degraded / schema_divergent
|
|
195
|
+
unreadable or locked store: degraded / store_unreadable or store_locked
|
|
196
|
+
redaction_rules:
|
|
197
|
+
- Do not retain session-store paths, project paths, transcript text, raw session ids, or generated salted hashes.
|
|
198
|
+
- Retain remediation labels such as /chronicle reindex only when they are static product guidance, not local data.
|
|
199
|
+
- Retain only canonical runtime labels, canonical artifact labels, bounded counts, and aggregate status fields.
|
|
200
|
+
|
|
201
|
+
token_impact_contract:
|
|
202
|
+
estimator_version: approx_bytes_div_4_v1
|
|
203
|
+
estimator_rule: >-
|
|
204
|
+
Estimate tokens as ceil(observed UTF-8 content bytes divided by 4). The
|
|
205
|
+
estimate is an aggregate benchmark signal, not model-tokenizer output.
|
|
206
|
+
transient_inputs:
|
|
207
|
+
- observed transcript or tool-argument content byte counts during analysis
|
|
208
|
+
- canonical artifact label associated with each raw artifact access event
|
|
209
|
+
- sequence classification for raw-after-CLI and redundant raw access
|
|
210
|
+
retained_output_rule: >-
|
|
211
|
+
Retained reports and history may store only aggregate estimated token counts
|
|
212
|
+
grouped by canonical artifact label and benchmark scope. They must not store
|
|
213
|
+
raw paths, transcript text, raw tool arguments, salts, or generated hashes.
|
|
214
|
+
aggregate_fields:
|
|
215
|
+
latest_report:
|
|
216
|
+
- token_estimator_version
|
|
217
|
+
- estimated_raw_after_cli_tokens
|
|
218
|
+
- estimated_redundant_raw_tokens
|
|
219
|
+
- estimated_raw_after_cli_tokens_by_artifact
|
|
220
|
+
- estimated_redundant_raw_tokens_by_artifact
|
|
221
|
+
- estimated_tokens_saved_vs_previous
|
|
222
|
+
- estimated_tokens_saved_vs_previous_null_reason
|
|
223
|
+
aggregate_history:
|
|
224
|
+
- token_estimator_version
|
|
225
|
+
- estimated_raw_after_cli_tokens
|
|
226
|
+
- estimated_redundant_raw_tokens
|
|
227
|
+
- estimated_raw_after_cli_tokens_by_artifact
|
|
228
|
+
- estimated_redundant_raw_tokens_by_artifact
|
|
229
|
+
- estimated_tokens_saved_vs_previous
|
|
230
|
+
- estimated_tokens_saved_vs_previous_null_reason
|
|
231
|
+
comparable_row_rules:
|
|
232
|
+
comparable_when_all_match:
|
|
233
|
+
- contract_version
|
|
234
|
+
- benchmark_mode
|
|
235
|
+
- runtime_scope
|
|
236
|
+
- token_estimator_version
|
|
237
|
+
- token aggregate fields present in both rows
|
|
238
|
+
saved_value: previous estimated_redundant_raw_tokens minus current estimated_redundant_raw_tokens
|
|
239
|
+
null_when_not_comparable: true
|
|
240
|
+
null_reasons:
|
|
241
|
+
- previous_row_missing
|
|
242
|
+
- previous_missing_token_estimates
|
|
243
|
+
- estimator_version_mismatch
|
|
244
|
+
- runtime_scope_mismatch
|
|
245
|
+
- benchmark_mode_mismatch
|
|
246
|
+
- contract_version_mismatch
|
|
247
|
+
|
|
248
|
+
benchmark_storage:
|
|
249
|
+
default_directory: ${AGENTERA_HOME}/benchmarks/startup-state/
|
|
250
|
+
repository_outputs: forbidden
|
|
251
|
+
durable_outputs:
|
|
252
|
+
- runs.jsonl
|
|
253
|
+
- latest-report.json
|
|
254
|
+
- latest-report.md
|
|
255
|
+
retention_rule: >-
|
|
256
|
+
Retained benchmark history consists only of aggregate runs.jsonl plus the
|
|
257
|
+
fixed latest structured and human-readable report files. Runtime corpus files,
|
|
258
|
+
analyzer intermediates, per-run detailed reports, and any other generated
|
|
259
|
+
benchmark artifacts are temporary only and must not be retained in the
|
|
260
|
+
repository or benchmark history directory.
|
|
261
|
+
success_rule: >-
|
|
262
|
+
Successful benchmark runs append one aggregate row to runs.jsonl and replace
|
|
263
|
+
latest-report.json and latest-report.md after report generation succeeds.
|
|
264
|
+
failure_rule: >-
|
|
265
|
+
Failed benchmark runs do not append aggregate history and do not clobber the
|
|
266
|
+
previous latest report files.
|
|
267
|
+
|
|
268
|
+
aggregate_history:
|
|
269
|
+
file: runs.jsonl
|
|
270
|
+
row_shape:
|
|
271
|
+
- contract_version
|
|
272
|
+
- generated_at
|
|
273
|
+
- agentera_version
|
|
274
|
+
- git_commit
|
|
275
|
+
- git_dirty
|
|
276
|
+
- runtime_scope
|
|
277
|
+
- benchmark_mode
|
|
278
|
+
- benchmark_previous_watermark_at
|
|
279
|
+
- benchmark_window_started_after
|
|
280
|
+
- benchmark_watermark_at
|
|
281
|
+
- total_records
|
|
282
|
+
- total_state_sequences
|
|
283
|
+
- state_sequences_with_raw_after_cli
|
|
284
|
+
- state_sequences_with_redundant_raw_access
|
|
285
|
+
- raw_after_cli_rate
|
|
286
|
+
- redundant_raw_access_rate
|
|
287
|
+
- cli_state_command_counts
|
|
288
|
+
- raw_artifact_access_after_cli_counts
|
|
289
|
+
- redundant_raw_artifact_access_counts
|
|
290
|
+
- per_capability_state_counts
|
|
291
|
+
- degradation_reason_counts
|
|
292
|
+
- bounded_degradation_counts
|
|
293
|
+
- startup_recommendation_action
|
|
294
|
+
- token_estimator_version
|
|
295
|
+
- estimated_raw_after_cli_tokens
|
|
296
|
+
- estimated_redundant_raw_tokens
|
|
297
|
+
- estimated_raw_after_cli_tokens_by_artifact
|
|
298
|
+
- estimated_redundant_raw_tokens_by_artifact
|
|
299
|
+
- estimated_tokens_saved_vs_previous
|
|
300
|
+
- estimated_tokens_saved_vs_previous_null_reason
|
|
301
|
+
forbidden_retained_fields:
|
|
302
|
+
- raw_transcripts
|
|
303
|
+
- raw_corpus_files
|
|
304
|
+
- raw_intermediates
|
|
305
|
+
- raw_store_paths
|
|
306
|
+
- raw_session_ids
|
|
307
|
+
- private_salts
|
|
308
|
+
- generated_salted_hashes
|
|
309
|
+
- raw_tool_arguments
|
|
310
|
+
|
|
311
|
+
state_gathering_sequence:
|
|
312
|
+
start_anchor: first_agentera_state_call_after_capability_related_user_turn
|
|
313
|
+
capability_invocation_markers:
|
|
314
|
+
- slash route such as /agentera plan or /agentera build
|
|
315
|
+
- bare capability name such as planera, resonera, or orkestrera
|
|
316
|
+
- natural-language capability mention such as run orkestrera
|
|
317
|
+
- assistant capability intro marker
|
|
318
|
+
end_anchors:
|
|
319
|
+
- first_implementation_boundary
|
|
320
|
+
- next_user_turn
|
|
321
|
+
measured_defect: >-
|
|
322
|
+
Raw read, grep, or glob access to an Agentera artifact after a CLI state call
|
|
323
|
+
that already covered the same artifact family, before implementation work.
|
|
324
|
+
|
|
325
|
+
counted_event_classes:
|
|
326
|
+
- class: cli_state_call
|
|
327
|
+
description: Agentera state CLI reads such as hej, todo, docs, plan, progress, decisions, health, and query.
|
|
328
|
+
- class: raw_artifact_access
|
|
329
|
+
description: Direct read, grep, or glob access to Agentera state artifacts after CLI state access.
|
|
330
|
+
- class: capability_prose_read
|
|
331
|
+
description: Reads of capability prose, schemas, protocol, or routing entry files.
|
|
332
|
+
- class: implementation_boundary
|
|
333
|
+
description: Code edits, write/edit/apply_patch, non-state bash commands, tests, or analysis work after startup state gathering.
|
|
334
|
+
- class: non_state_context
|
|
335
|
+
description: Events outside the measured state-gathering sequence and excluded from defect totals.
|
|
336
|
+
|
|
337
|
+
degradation_reasons:
|
|
338
|
+
- pre_boundary_record
|
|
339
|
+
- missing_timestamp
|
|
340
|
+
- malformed_record
|
|
341
|
+
- missing_conversation_key
|
|
342
|
+
- no_agentera_state_sequence
|
|
343
|
+
- runtime_store_missing
|
|
344
|
+
- runtime_store_locked
|
|
345
|
+
- runtime_store_sparse
|
|
346
|
+
- runtime_schema_divergent
|
|
347
|
+
- privacy_redaction_required
|
|
348
|
+
|
|
349
|
+
privacy_boundary:
|
|
350
|
+
forbidden_raw_outputs:
|
|
351
|
+
- transcript_text
|
|
352
|
+
- raw_corpus_file
|
|
353
|
+
- raw_intermediate
|
|
354
|
+
- full_local_path
|
|
355
|
+
- raw_store_path
|
|
356
|
+
- unredacted_session_id
|
|
357
|
+
- private_salt
|
|
358
|
+
- generated_salted_hash
|
|
359
|
+
allowed_replacements:
|
|
360
|
+
- canonical_artifact_label
|
|
361
|
+
- canonical_runtime_label
|
|
362
|
+
- canonical_event_class
|
|
363
|
+
- salted_non_reconstructable_hash
|
|
364
|
+
canonical_artifact_labels:
|
|
365
|
+
TODO.md: TODO.md
|
|
366
|
+
CHANGELOG.md: CHANGELOG.md
|
|
367
|
+
DESIGN.md: DESIGN.md
|
|
368
|
+
PLAN.md: PLAN.md
|
|
369
|
+
PROGRESS.md: PROGRESS.md
|
|
370
|
+
DOCS.md: DOCS.md
|
|
371
|
+
DECISIONS.md: DECISIONS.md
|
|
372
|
+
HEALTH.md: HEALTH.md
|
|
373
|
+
VISION.md: VISION.md
|
|
374
|
+
OBJECTIVE.md: OBJECTIVE.md
|
|
375
|
+
EXPERIMENTS.md: EXPERIMENTS.md
|
|
376
|
+
AGENTS.md: AGENTS.md
|
|
377
|
+
SKILL.md: SKILL.md
|
|
378
|
+
AGENTERA_ARTIFACTS: AGENTERA_ARTIFACTS
|
|
379
|
+
stdout_rule: >-
|
|
380
|
+
Startup state analysis stdout may include counts, canonical labels, runtime
|
|
381
|
+
names, boundary metadata, degradation labels, and salted hashes only.
|
|
382
|
+
retained_aggregate_history_rule: >-
|
|
383
|
+
Retained aggregate benchmark history must exclude raw transcripts, raw corpus
|
|
384
|
+
files, raw intermediates, raw store paths, raw session IDs, private salts, and
|
|
385
|
+
generated salted hashes. Store only bounded counts, rates, canonical labels,
|
|
386
|
+
runtime labels, version metadata, git metadata, degradation counts, token
|
|
387
|
+
estimate aggregates, and the recommendation action.
|
|
388
|
+
fixture_rule: >-
|
|
389
|
+
Committed fixtures and snapshots must use synthetic text and identifiers or
|
|
390
|
+
already-redacted labels; never paste raw transcript excerpts, full local
|
|
391
|
+
paths, raw store paths, or unredacted session ids.
|
|
392
|
+
|
|
393
|
+
report_fields:
|
|
394
|
+
required:
|
|
395
|
+
- contract_version
|
|
396
|
+
- boundary_source
|
|
397
|
+
- boundary_commit
|
|
398
|
+
- boundary_committed_at
|
|
399
|
+
- generated_at
|
|
400
|
+
- corpus_adapter_version
|
|
401
|
+
- runtime_coverage
|
|
402
|
+
- total_state_sequences
|
|
403
|
+
- state_sequences_with_raw_after_cli
|
|
404
|
+
- state_sequences_with_redundant_raw_access
|
|
405
|
+
- cli_state_command_counts
|
|
406
|
+
- raw_artifact_access_after_cli_counts
|
|
407
|
+
- redundant_raw_artifact_access_counts
|
|
408
|
+
- per_capability_state_counts
|
|
409
|
+
- degradation_reason_counts
|
|
410
|
+
- threshold_derivation
|
|
411
|
+
- startup_recommendation
|
|
412
|
+
- privacy_redaction_summary
|
|
413
|
+
- compatibility_note
|
|
414
|
+
- token_estimator_version
|
|
415
|
+
- estimated_raw_after_cli_tokens
|
|
416
|
+
- estimated_redundant_raw_tokens
|
|
417
|
+
- estimated_raw_after_cli_tokens_by_artifact
|
|
418
|
+
- estimated_redundant_raw_tokens_by_artifact
|
|
419
|
+
optional:
|
|
420
|
+
- confidence_caveats
|
|
421
|
+
- insufficient_evidence_reason
|
|
422
|
+
- recommendation_gate_input
|
|
423
|
+
- estimated_tokens_saved_vs_previous
|
|
424
|
+
- estimated_tokens_saved_vs_previous_null_reason
|