agentera 3.0.0-dev.21 → 3.0.0-dev.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bundle/CHANGELOG.md +9 -0
  2. package/bundle/references/analysis/evidence-tier-authority.yaml +516 -0
  3. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  4. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +31 -3
  5. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  6. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  7. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +1 -0
  8. package/dist/analytics/extractCorpus/cli.js +33 -5
  9. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  10. package/dist/analytics/extractCorpus/evidenceTiers.js +561 -0
  11. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -0
  12. package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -0
  13. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
  14. package/dist/analytics/extractCorpus/index.js +3 -0
  15. package/dist/analytics/extractCorpus/index.js.map +1 -1
  16. package/dist/analytics/extractCorpus/tierReader.js +109 -0
  17. package/dist/analytics/extractCorpus/tierReader.js.map +1 -0
  18. package/dist/analytics/profileSignals.js +212 -0
  19. package/dist/analytics/profileSignals.js.map +1 -0
  20. package/dist/analytics/usageStats.js +104 -20
  21. package/dist/analytics/usageStats.js.map +1 -1
  22. package/dist/capabilities/profile/instructions.js +1 -1
  23. package/dist/capabilities/profile/instructions.js.map +1 -1
  24. package/dist/cli/capabilityContext/shared.js +1 -1
  25. package/dist/cli/capabilityContext/shared.js.map +1 -1
  26. package/dist/cli/commands/lint.js +10 -2
  27. package/dist/cli/commands/lint.js.map +1 -1
  28. package/dist/cli/commands/prime/collectOrientationState.js +3 -0
  29. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  30. package/dist/cli/commands/report.js +55 -15
  31. package/dist/cli/commands/report.js.map +1 -1
  32. package/dist/cli/orientation/corpusCoverage.js +32 -0
  33. package/dist/cli/orientation/corpusCoverage.js.map +1 -1
  34. package/dist/registries/evidenceTierContract.js +362 -0
  35. package/dist/registries/evidenceTierContract.js.map +1 -0
  36. package/dist/registries/verbosityBudgetContract.js +206 -0
  37. package/dist/registries/verbosityBudgetContract.js.map +1 -0
  38. package/dist/state/startupAnalysis/benchmark.js +70 -8
  39. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  40. package/dist/state/startupAnalysis/threshold.js +13 -0
  41. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  42. package/dist/validate/selfAudit.js +38 -43
  43. package/dist/validate/selfAudit.js.map +1 -1
  44. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  // Capability instructions for profile
2
2
  // Served via `agentera prime --context profile --format json`. RFC 2119 modal vocab.
3
- export const instructions = JSON.parse(String.raw `"# PROFILE\n\n**Persona Reconstruction: Observable Footprint Indexing Logic. Extract, Reconcile, Formalize**\n\nGlyph: ♾ (protocol ref: SG9).\n\nMine the user's session history and produce a structured decision profile for predicting \"What would this person decide?\" Each entry carries numeric confidence, permanence classification, and temporal metadata enabling dormancy decay. The profile is consumed by all capabilities via \u0060status.profile\u0060.\n\n---\n\n## State artifacts\n\nProfile reads the user's corpus and decisions; writes PROFILE.md. Artifact path resolution is owned by SKILL.md.\n\n| Artifact | Role | Path |\n|----------|------|------|\n| \u0060profile\u0060 | produces_and_consumes | \u0060profile_context.profile.path\u0060 |\n| \u0060decisions\u0060 | consumes | \u0060profile_context.decisions.fallback_command\u0060 |\n\n**Startup contract**: trust \u0060profile_context\u0060 and \u0060raw_artifact_read_policy\u0060 from \u0060agentera prime --context profile --format json\u0060. Use the included state families first; run listed \u0060fallback_commands\u0060 before any raw artifact read. Do not manually locate schemas or defensively raw-read state the CLI already serves. Visual-token families (VT/SI/EX/SG/PH) by \u0060skills/agentera/protocol.yaml\u0060.\n\n### Profile format\n\nOutput constraint: ≤30 words per signal, ≤15 words per evidence line.\n\n\u0060\u0060\u0060markdown\n# Decision Profile: [User Name]\n\n<!-- Generated: {date} | Data: {date range from earliest to latest timestamp} | Validated: — -->\n<!-- Sources: {N} memory files, {N} history prompts, {N} conversation exchanges, {N} configs -->\n<!-- Decay parameters: stable λ=0.001, durable λ=0.005, situational λ=0.015 -->\n<!-- Formula: effective_conf = conf × e^(-λ × days_since_confirmed), floor 20 -->\n<!-- Regenerate with /agentera profile -->\n\n## How to Use This Profile\n\nThis profile captures decision-making patterns extracted from {N} months of sessions across {N} projects. Each entry carries inline metadata:\n\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- **conf** (0-100): Evidence-based confidence. 90+ shipped consistently (CS1), 70-89\n established (CS2), 50-69 emerging (CS3), 30-49 single signal (CS4), 0-29 speculative (CS5).\n Line weight tokens: ━ (VT9) high (90-100), ─ (VT10) medium (50-89), ┄ (VT11) low (0-49).\n- **perm**: How stable the decision domain is. stable (decade), durable (year),\n situational (month).\n- **dates**: When the decision was first observed, refreshed,\n and last challenged.\n- **Generated / Validated**: Full rebuild date vs last validate-mode\n maintenance date in the header comment. \u0060agentera prime\u0060 treats the\n profile as fresh through the newer of the two.\n\nWhen consuming this profile, compute effective confidence using the decay formula.\nStale situational entries carry less weight than fresh stable ones.\n\n**When the profile is silent**: If a situation isn't covered, look for the closest trade-off\nheuristic or meta-decision pattern. When truly uncertain, ask.\n\n## Decision-Making Philosophy\n\n[2-3 paragraphs describing the meta-patterns: how this person approaches decisions, what\nframeworks they use, their risk posture, when they decide quickly vs deliberate, what\ninformation they seek before deciding]\n\n## [Category Name]\n\n### [Decision Name]\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- ▸ **Rule**: [Imperative statement an agent can follow directly]\n- ▸ **When**: [Specific conditions or triggers for this rule]\n- ▸ **Why**: [The reasoning, the value or concern that drives this]\n- ▸ **Exceptions**: [Known cases where this was overridden, or \"None observed\"]\n\n[Repeat for each decision in the category. Order by confidence (highest first).]\n\n[Repeat for all 12 categories. Skip categories with no signal.]\n\n## Tensions\n\nEach entry records a contradiction or divergence found during profile generation or challenged during validation. Default status is **unresolved**. Resist the urge to wrap tensions in resolution narratives. Some tensions are real and persistent.\n\n### YYYY-MM-DD: [Short description]\n\n**Decision affected**: [which decision was contradicted]\n**What happened**: [what was observed or said that didn't fit]\n**Status**: unresolved\n\u0060\u0060\u0060\n\n**Writing guidelines**:\n\n- Write rules as imperatives (\"Use X\" not \"[Name] prefers X\")\n- Be specific (\"when building Go CLIs\" not \"when building things\")\n- Always include the *why* because agents need reasoning for edge cases\n- Don't duplicate AGENTS.md. This covers decision *patterns*, not project instructions\n- Omit categories with <2 decisions (insufficient signal)\n- Every entry MUST have inline metadata after the ### heading\n\n---\n\n## Workflow phases\n\nMode-split shape. Two modes: **Full** (regenerate from scratch) and **Validate** (quick incremental check).\n\nCheck if \u0060profile_context.profile.path\u0060 resolves to an existing file. If it does NOT exist, proceed directly to Full mode. If it DOES exist, present the mode choice:\n\n> **Full**: Regenerate from scratch using all session data. Replaces the existing profile including any accumulated tensions. Best when the profile feels significantly outdated or you want a clean baseline.\n>\n> **Validate**: Quick check of your existing profile (~2 minutes). Reviews the entries most worth validating: confirm, challenge, or skip each one. Best for regular maintenance between full regenerations.\n\n### Full Mode\n\nStep markers: display \u0060── step N/4: verb\u0060 before each step.\nSteps: extract, read, synthesize, generate.\n\n#### Step 1: Coverage and extraction\n\nRun the active-runtime Coverage Audit as the first user-visible output of every Full-mode run:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history --coverage-audit-only\n\u0060\u0060\u0060\n\nThe active runtime IDs are exactly \u0060opencode\u0060, \u0060codex\u0060, \u0060cursor\u0060, and \u0060copilot\u0060. Cursor Agent CLI storage is a Cursor source product, never a separate runtime identity. Apply \u0060--no-codex\u0060, \u0060--no-opencode\u0060, \u0060--no-copilot\u0060, or \u0060--no-cursor\u0060 only when the user selects a partial active-runtime corpus; available skipped sources require \u0060--accept-coverage-gap\u0060.\n\nClaude Code is not a supported runtime. Its transcript parser is available only as an explicit historical importer:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history --import-source claude\n\u0060\u0060\u0060\n\nBefore that opt-in, warn that transcripts can contain secrets, file contents, and command output. The import is local and read-only. Every imported record is labeled \u0060source_class=historical_import\u0060, \u0060source_product=claude-code\u0060, and \u0060active_runtime=false\u0060; default active analytics exclude it. Never describe imported records as Claude support, health, installation, or active-runtime coverage. Use \u0060agentera report --sources all\u0060 only when the user explicitly asks for historical/all-source analysis, and keep provenance visible.\n\nThe extractor writes instruction documents, history prompts, conversation turns, tool calls, and project config signals. Read the corpus metadata to confirm bounded source-family counts without displaying transcript contents. If an active source fails, proceed with bounded degradation evidence; if historical import fails, report only the importer failure and do not turn it into runtime health.\n#### Step 2: Read corpus data\n\nRead the corpus produced in Step 1. Each record carries a \u0060source_kind\u0060 field. Group records by source family for synthesis:\n\n1. **instruction_document**: Memory files, AGENTS.md (highest signal: explicit user instructions)\n2. **history_prompt**: Decision-rich prompts from session history\n3. **conversation_turn**: Decision exchanges from conversations (most nuanced: real-time reasoning)\n4. **project_config_signal**: Recurring config patterns across projects (most objective: what shipped)\n\nRead the full corpus before synthesis. If total records exceed 500, prioritize high-signal records:\n\n- history correction or decision kinds\n- longer user responses\n- configs shared across projects\n\n#### Step 3: Categorize and synthesize\n\nGroup signals into 12 categories:\n\n1. **Architecture & Design Patterns**: package layout, abstraction boundaries, API design\n2. **Technology & Tooling Selection**: languages, frameworks, libraries, build tools\n3. **Agent & Automation Philosophy**: agent behavior, autonomy, interaction patterns\n4. **Code Quality & Standards**: error handling, testing, validation, naming\n5. **DX & Project Structure**: directory layout, build targets, configuration\n6. **Scoping & Prioritization**: what to build, milestones, complexity budgets\n7. **Communication Style**: writing preferences, documentation voice\n8. **Process & Workflow**: git workflow, commit conventions, release process\n9. **UI/UX Preferences**: visual patterns, interaction design, CLI vs TUI vs web\n10. **Trade-off Heuristics**: simplicity vs flexibility, speed vs correctness\n11. **Anti-patterns & Rejections**: things actively avoided, with reasoning\n12. **Meta-decision Style**: frameworks used, information gathering, decide vs defer\n\nPer category: identify distinct decisions (not just preferences; decisions have conditions and reasoning), look for the *why*, note exceptions where the rule was overridden.\n\n**Assign confidence** (numeric, 0-100, protocol ref: CS1-CS5)\n\nDecision patterns are empirically verifiable via git history and configs:\n\n| Range | Label | Token | Criteria |\n|-------|-------|-------|----------|\n| 90-100 (CS1) | Shipped consistently | ━ (VT9) | Appears in configs/code across 3+ projects, verifiable from artifacts |\n| 70-89 (CS2) | Established | ━ (VT9) | Consistent across sessions, corroborated by behavior |\n| 50-69 (CS3) | Emerging | ─ (VT10) | Observed multiple times but limited context or minor variations |\n| 30-49 (CS4) | Single signal | ┄ (VT11) | One data point or inferred from adjacent patterns |\n| 0-29 (CS5) | Speculative | ┄ (VT11) | No direct evidence, extrapolated from related decisions |\n\n**Bias check**: Confidence is earned through evidence, not assigned by how insightful the decision sounds. A pithy design principle observed once is 30, not 75.\n\n**Assign permanence class**\n\nPermanence captures domain *stability*, independent of confidence. You can be highly confident about something that will change (85, situational) or uncertain about something deep (35, stable).\n\n| Class | Domain | Timescale |\n|-------|--------|-----------|\n| **stable** | Architecture principles, design patterns, meta-decision heuristics | Decade |\n| **durable** | Tooling choices, code standards, process conventions, DX preferences | Year |\n| **situational** | Current project priorities, active initiative choices, recent tech stack picks | Month |\n\nDefault permanence mapping by category:\n\n- Architecture & Design Patterns, Meta-decision Style → stable\n- Technology & Tooling, Code Quality & Standards, Process & Workflow, DX & Project Structure, Communication Style, Trade-off Heuristics, Anti-patterns → durable\n- Scoping & Prioritization, UI/UX Preferences → situational (unless clearly long-standing)\n- Agent & Automation Philosophy → durable (unless project-specific)\n\nOverride the default when the evidence suggests otherwise.\n\n**Set dates**\n\n- **first**: Earliest timestamp from the source data that evidences this decision\n- **refresh date**: Set to today's date (the generation date)\n- **challenged**: Set to \u0060—\u0060 (none yet on a fresh profile)\n\n**Identify tensions**\n\nLook for cross-category patterns and contradictions: stated principle vs shipped code, conflicts between categories, \"Exceptions\" suggesting a weaker rule. Record contradictions in the Tensions section rather than smoothing them into a coherent narrative.\n\n#### Step 4: Generate the profile and validate\n\nWrite the decision profile to \u0060profile_context.profile.path\u0060 following the Profile format template above.\n\nIf a previous version exists: copy to the \u0060history/\u0060 subdirectory alongside PROFILE.md, generate new version, show change summary (added, updated, removed).\n\n**Prediction validation**\n\nPick 5 decision-rich prompts NOT used to create profile entries. For each: predict what the profile would recommend, check against what happened. Report accuracy (e.g., \"4/5\").\n\nBelow 3/5: identify categories needing more signal, note in profile header, and emit \u0060♾ profile · flagged\u0060 (EX2) — the profile is written but signal quality is insufficient.\n\n---\n\n### Validate Mode\n\nQuick incremental check. Step markers: display \u0060── step N/3: verb\u0060 before each step.\nSteps: select, present, apply.\n\n#### Step V1: Select entries\n\nIdentify which entries are most worth checking by reading PROFILE.md directly and prioritizing high-confidence, stale, or tension-heavy entries. If PROFILE.md is missing, fall back to Full mode.\n\n#### Step V2: Present entries for validation\n\nPresent entries one at a time: decision name, rule text, reason surfaced, stored vs effective confidence. Ask: **Confirm**, **Challenge**, or **Skip**.\n\n#### Step V3: Apply updates and write\n\nFor each response:\n\n- **Confirm**: Bump \u0060conf\u0060 by 5 (cap at 95). Update \u0060confirmed\u0060 to today's date.\n- **Challenge**: Soften \u0060conf\u0060 by 10 (floor at 10). Update \u0060challenged\u0060 to today's date.\n Append a tension entry to the \u0060## Tensions\u0060 section:\n\n \u0060\u0060\u0060\n ### {today}: {decision name} challenged during validation\n **Decision affected**: {decision name}\n **What happened**: Challenged by user during validation\n **Status**: unresolved\n \u0060\u0060\u0060\n\n- **Skip**: No changes to this entry.\n\nUpdate the header comment before writing:\n\n- Set \u0060Validated:\u0060 to today's date.\n- Preserve \u0060Generated:\u0060 unchanged (last full rebuild date).\n- If \u0060Validated:\u0060 already exists, replace its date; otherwise append \u0060| Validated: {today}\u0060.\n\nWrite updated PROFILE.md. Report: \"Reviewed {N} entries: {N} accepted, {N} challenged, {N} skipped.\" Mention challenged entries by name.\n\n---\n\n## Safety rails\n\n<critical>\n- MUST NOT fabricate decision patterns. Every profile entry MUST be grounded in observed evidence from session history, memory files, configs, or conversation data.\n- MUST NOT assign confidence higher than the evidence warrants. A single data point is 30-49 (CS4), not 70+, regardless of how insightful the decision sounds.\n- MUST NOT smooth over contradictions. When evidence conflicts, record tensions rather than forcing a coherent narrative.\n- MUST NOT modify the user's session history, memory files, or config files. Profile reads these sources; it never writes to them.\n- MUST NOT share profile contents with external services or include them in commits.\n</critical>\n\n---\n\n## Exit signals\n\nReport one of these statuses at workflow completion (protocol refs: EX1-EX4).\n\nFormat: emit \u0060♾ profile · <status>\u0060 on its own line, followed by a one-sentence summary. For \u0060flagged\u0060 (EX2), \u0060stuck\u0060 (EX3), and \u0060waiting\u0060 (EX4), add a ▸ (VT15) bullet below the summary identifying what needs attention. The exit marker uses profile's canonical glyph ♾ (SG9, U+267E).\n\n- **complete** (EX1): PROFILE.md was written (Full mode) or updated (Validate mode). Metadata changes were applied, prediction accuracy was assessed (Full mode), and changes were summarized.\n- **flagged** (EX2): Profile generation or validation completed but with data quality issues: available runtime history was skipped without explicit acceptance, extraction failed for one or more sources, prediction accuracy was below 3/5, or significant tensions were found that could not be resolved from available evidence.\n- **stuck** (EX3): Cannot generate or validate a profile because extraction scripts failed entirely or session data sources are unreadable.\n- **waiting** (EX4): The user chose Validate mode but PROFILE.md lacks valid metadata. A Full mode run needs user approval, or the requested mode is ambiguous.\n\n---\n\n## Cross-capability integration\n\n### Consumption contract\n\nAll capabilities consume the profile via \u0060status.profile\u0060 from their prime context. Confidence thresholds: 65+ for strong constraint, below 45 for suggestion. Effective confidence decays over time using the formula and parameters declared in the Profile format template (§2). High effective confidence entries are treated as strong constraints; low as suggestions. Full rules are read from PROFILE.md when needed for detailed reasoning.\n\n### Consumed by\n\n- **build** — confidence-weighted summary table in Orient step; high confidence as strong constraints\n- **optimize** — calibrates experimentation style and trade-off preferences\n- **research** — informs applicability judgments; high confidence constrains recommendations\n- **discuss** — reads profile at start of every deliberation; high-confidence entries acknowledged upfront\n- **audit** — calibrates quality bar and which findings matter for this user\n- **plan** — calibrates planning depth and constraint priorities in Orient step\n\n### Fed by\n\n- **discuss** — \u0060decisions\u0060 artifact is a high-signal extraction source. Prefer \u0060agentera state decisions list --limit 20 --format json\u0060 and preserve returned \u0060missing_fields\u0060, \u0060compacted\u0060, \u0060caveats\u0060, and \u0060satisfaction.review_needed\u0060 pressure rather than raw-reading missing historical context.\n\n### Getting started\n\nFirst profile generation:\n\n\u0060\u0060\u0060\n/agentera profile\n\u0060\u0060\u0060\n\nFull extraction across all sources. Produces PROFILE.md at \u0060profile_context.profile.path\u0060.\n\nRegular validation:\n\n\u0060\u0060\u0060\n/agentera profile validate\n\u0060\u0060\u0060\n\nQuick confidence refresh without full regeneration. Run weekly or per-session.\n\nUsing the profile in other capabilities: automatic — all capabilities read \u0060status.profile\u0060 from their prime context. No manual steps needed; just ensure PROFILE.md exists."`);
3
+ export const instructions = JSON.parse(String.raw `"# PROFILE\n\n**Persona Reconstruction: Observable Footprint Indexing Logic. Extract, Reconcile, Formalize**\n\nGlyph: ♾ (protocol ref: SG9).\n\nMine the user's session history and produce a structured decision profile for predicting \"What would this person decide?\" Each entry carries numeric confidence, permanence classification, and temporal metadata enabling dormancy decay. The profile is consumed by all capabilities via \u0060status.profile\u0060.\n\n---\n\n## State artifacts\n\nProfile reads bounded signal tiers and decisions; writes PROFILE.md. Artifact path resolution is owned by SKILL.md.\n\n| Artifact | Role | Path |\n|----------|------|------|\n| \u0060profile\u0060 | produces_and_consumes | \u0060profile_context.profile.path\u0060 |\n| \u0060decisions\u0060 | consumes | \u0060profile_context.decisions.fallback_command\u0060 |\n\n**Startup contract**: trust \u0060profile_context\u0060 and \u0060raw_artifact_read_policy\u0060 from \u0060agentera prime --context profile --format json\u0060. Use the included state families first; run listed \u0060fallback_commands\u0060 before any raw artifact read. Do not manually locate schemas or defensively raw-read state the CLI already serves. Visual-token families (VT/SI/EX/SG/PH) by \u0060skills/agentera/protocol.yaml\u0060.\n\n### Profile format\n\nOutput constraint: ≤30 words per signal, ≤15 words per evidence line.\n\n\u0060\u0060\u0060markdown\n# Decision Profile: [User Name]\n\n<!-- Generated: {date} | Data: {date range from earliest to latest timestamp} | Validated: — -->\n<!-- Sources: {N} memory files, {N} history prompts, {N} conversation exchanges, {N} configs -->\n<!-- Decay parameters: stable λ=0.001, durable λ=0.005, situational λ=0.015 -->\n<!-- Formula: effective_conf = conf × e^(-λ × days_since_confirmed), floor 20 -->\n<!-- Regenerate with /agentera profile -->\n\n## How to Use This Profile\n\nThis profile captures decision-making patterns extracted from {N} months of sessions across {N} projects. Each entry carries inline metadata:\n\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- **conf** (0-100): Evidence-based confidence. 90+ shipped consistently (CS1), 70-89\n established (CS2), 50-69 emerging (CS3), 30-49 single signal (CS4), 0-29 speculative (CS5).\n Line weight tokens: ━ (VT9) high (90-100), ─ (VT10) medium (50-89), ┄ (VT11) low (0-49).\n- **perm**: How stable the decision domain is. stable (decade), durable (year),\n situational (month).\n- **dates**: When the decision was first observed, refreshed,\n and last challenged.\n- **Generated / Validated**: Full rebuild date vs last validate-mode\n maintenance date in the header comment. \u0060agentera prime\u0060 treats the\n profile as fresh through the newer of the two.\n\nWhen consuming this profile, compute effective confidence using the decay formula.\nStale situational entries carry less weight than fresh stable ones.\n\n**When the profile is silent**: If a situation isn't covered, look for the closest trade-off\nheuristic or meta-decision pattern. When truly uncertain, ask.\n\n## Decision-Making Philosophy\n\n[2-3 paragraphs describing the meta-patterns: how this person approaches decisions, what\nframeworks they use, their risk posture, when they decide quickly vs deliberate, what\ninformation they seek before deciding]\n\n## [Category Name]\n\n### [Decision Name]\n\u0060━ conf:75 | perm:durable | first:2026-01-15 | confirmed:2026-03-28 | challenged:—\u0060\n\n- ▸ **Rule**: [Imperative statement an agent can follow directly]\n- ▸ **When**: [Specific conditions or triggers for this rule]\n- ▸ **Why**: [The reasoning, the value or concern that drives this]\n- ▸ **Exceptions**: [Known cases where this was overridden, or \"None observed\"]\n\n[Repeat for each decision in the category. Order by confidence (highest first).]\n\n[Repeat for all 12 categories. Skip categories with no signal.]\n\n## Tensions\n\nEach entry records a contradiction or divergence found during profile generation or challenged during validation. Default status is **unresolved**. Resist the urge to wrap tensions in resolution narratives. Some tensions are real and persistent.\n\n### YYYY-MM-DD: [Short description]\n\n**Decision affected**: [which decision was contradicted]\n**What happened**: [what was observed or said that didn't fit]\n**Status**: unresolved\n\u0060\u0060\u0060\n\n**Writing guidelines**:\n\n- Write rules as imperatives (\"Use X\" not \"[Name] prefers X\")\n- Be specific (\"when building Go CLIs\" not \"when building things\")\n- Always include the *why* because agents need reasoning for edge cases\n- Don't duplicate AGENTS.md. This covers decision *patterns*, not project instructions\n- Omit categories with <2 decisions (insufficient signal)\n- Every entry MUST have inline metadata after the ### heading\n\n---\n\n## Workflow phases\n\nMode-split shape. Two modes: **Full** (regenerate from scratch) and **Validate** (quick incremental check).\n\nCheck if \u0060profile_context.profile.path\u0060 resolves to an existing file. If it does NOT exist, proceed directly to Full mode. If it DOES exist, present the mode choice:\n\n> **Full**: Regenerate from scratch using all session data. Replaces the existing profile including any accumulated tensions. Best when the profile feels significantly outdated or you want a clean baseline.\n>\n> **Validate**: Quick check of your existing profile (~2 minutes). Reviews the entries most worth validating: confirm, challenge, or skip each one. Best for regular maintenance between full regenerations.\n\n### Full Mode\n\nStep markers: display \u0060── step N/4: verb\u0060 before each step.\nSteps: extract, read, synthesize, generate.\n\n#### Step 1: Coverage and extraction\n\nRun the active-runtime Coverage Audit as the first user-visible output of every Full-mode run, then publish bounded tiers:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history\n\u0060\u0060\u0060\n\nThe refresh runs the coverage audit first and exits flagged (EX2) if available runtimes are skipped without \u0060--accept-coverage-gap\u0060. On success it publishes bounded evidence tiers (full-evidence shards + a bounded signal tier with evidence anchors) as the canonical bounded output. The monolithic corpus is no longer written; tiers are the synthesis input.\n\nThe active runtime IDs are exactly \u0060opencode\u0060, \u0060codex\u0060, \u0060cursor\u0060, and \u0060copilot\u0060. Cursor Agent CLI storage is a Cursor source product, never a separate runtime identity. Apply \u0060--no-codex\u0060, \u0060--no-opencode\u0060, \u0060--no-copilot\u0060, or \u0060--no-cursor\u0060 only when the user selects a partial active-runtime corpus; available skipped sources require \u0060--accept-coverage-gap\u0060.\n\nClaude Code is not a supported runtime. Its transcript parser is available only as an explicit historical importer:\n\n\u0060\u0060\u0060bash\nagentera report refresh --consent local-history --import-source claude\n\u0060\u0060\u0060\n\nBefore that opt-in, warn that transcripts can contain secrets, file contents, and command output. The import is local and read-only. Every imported record is labeled \u0060source_class=historical_import\u0060, \u0060source_product=claude-code\u0060, and \u0060active_runtime=false\u0060; default active analytics exclude it. Never describe imported records as Claude support, health, installation, or active-runtime coverage. Use \u0060agentera report --sources all\u0060 only when the user explicitly asks for historical/all-source analysis, and keep provenance visible.\n\nThe extractor writes instruction documents, history prompts, conversation turns, tool calls, and project config signals as bounded signal records. Read \u0060profile_context.profile.bounded_signals\u0060 to confirm the tier state, signal count, and sufficiency assessment without loading full evidence. If an active source fails, proceed with bounded degradation evidence; if historical import fails, report only the importer failure and do not turn it into runtime health.\n#### Step 2: Read bounded signals\n\nRead the bounded signal tier published in Step 1. The \u0060profile_context.profile.bounded_signals\u0060 status provides \u0060tiers_dir\u0060, \u0060signal_path\u0060, \u0060signal_count\u0060, \u0060profile_signal_count\u0060, and the \u0060sufficiency\u0060 assessment. The signal tier carries only the contract-required fields plus \u0060evidence_anchor\u0060 for every record — no transcript text, raw tool arguments, or raw store paths. Group signals by \u0060signal_type\u0060 for synthesis:\n\n1. **instruction**: Memory files, AGENTS.md (highest signal: explicit user instructions)\n2. **decision** and **correction**: Decision-rich and revision signals from session history\n3. **question**: Interrogative signals surfacing uncertainty and information-gathering intent\n4. **configuration**: Recurring config patterns across projects (most objective: what shipped)\n\nEach signal carries \u0060source_kind\u0060, \u0060signal_type\u0060, \u0060timestamp\u0060, \u0060project_id\u0060, \u0060runtime\u0060, \u0060source_product\u0060, and \u0060evidence_anchor\u0060. The \u0060evidence_anchor\u0060 resolves to exactly one retained full-evidence shard — do not re-scan unbounded history to retrieve a full record.\n\n**Sufficiency gate**: Before synthesizing, check \u0060bounded_signals.sufficiency\u0060. If \u0060sufficient\u0060 is false, surface the underrepresented families with their retained and intended counts. Cap confidence for affected categories to the single-signal band (CS4, 30-49) or below — never fabricate high-confidence claims from sparse or missing evidence. Report the limitation in the profile header and emit \u0060♾ profile · flagged\u0060 (EX2).\n\n**Legacy state**: If \u0060bounded_signals.state\u0060 is \u0060legacy\u0060 (tiers not published, monolithic corpus exists) or \u0060missing\u0060, do not load the corpus whole. Run Step 1 refresh to publish bounded tiers first.\n\n#### Step 3: Categorize and synthesize\n\nGroup signals into 12 categories:\n\n1. **Architecture & Design Patterns**: package layout, abstraction boundaries, API design\n2. **Technology & Tooling Selection**: languages, frameworks, libraries, build tools\n3. **Agent & Automation Philosophy**: agent behavior, autonomy, interaction patterns\n4. **Code Quality & Standards**: error handling, testing, validation, naming\n5. **DX & Project Structure**: directory layout, build targets, configuration\n6. **Scoping & Prioritization**: what to build, milestones, complexity budgets\n7. **Communication Style**: writing preferences, documentation voice\n8. **Process & Workflow**: git workflow, commit conventions, release process\n9. **UI/UX Preferences**: visual patterns, interaction design, CLI vs TUI vs web\n10. **Trade-off Heuristics**: simplicity vs flexibility, speed vs correctness\n11. **Anti-patterns & Rejections**: things actively avoided, with reasoning\n12. **Meta-decision Style**: frameworks used, information gathering, decide vs defer\n\nPer category: identify distinct decisions (not just preferences; decisions have conditions and reasoning), look for the *why*, note exceptions where the rule was overridden.\n\n**Assign confidence** (numeric, 0-100, protocol ref: CS1-CS5)\n\nDecision patterns are empirically verifiable via git history and configs:\n\n| Range | Label | Token | Criteria |\n|-------|-------|-------|----------|\n| 90-100 (CS1) | Shipped consistently | ━ (VT9) | Appears in configs/code across 3+ projects, verifiable from artifacts |\n| 70-89 (CS2) | Established | ━ (VT9) | Consistent across sessions, corroborated by behavior |\n| 50-69 (CS3) | Emerging | ─ (VT10) | Observed multiple times but limited context or minor variations |\n| 30-49 (CS4) | Single signal | ┄ (VT11) | One data point or inferred from adjacent patterns |\n| 0-29 (CS5) | Speculative | ┄ (VT11) | No direct evidence, extrapolated from related decisions |\n\n**Bias check**: Confidence is earned through evidence, not assigned by how insightful the decision sounds. A pithy design principle observed once is 30, not 75.\n\n**Assign permanence class**\n\nPermanence captures domain *stability*, independent of confidence. You can be highly confident about something that will change (85, situational) or uncertain about something deep (35, stable).\n\n| Class | Domain | Timescale |\n|-------|--------|-----------|\n| **stable** | Architecture principles, design patterns, meta-decision heuristics | Decade |\n| **durable** | Tooling choices, code standards, process conventions, DX preferences | Year |\n| **situational** | Current project priorities, active initiative choices, recent tech stack picks | Month |\n\nDefault permanence mapping by category:\n\n- Architecture & Design Patterns, Meta-decision Style → stable\n- Technology & Tooling, Code Quality & Standards, Process & Workflow, DX & Project Structure, Communication Style, Trade-off Heuristics, Anti-patterns → durable\n- Scoping & Prioritization, UI/UX Preferences → situational (unless clearly long-standing)\n- Agent & Automation Philosophy → durable (unless project-specific)\n\nOverride the default when the evidence suggests otherwise.\n\n**Set dates**\n\n- **first**: Earliest timestamp from the source data that evidences this decision\n- **refresh date**: Set to today's date (the generation date)\n- **challenged**: Set to \u0060—\u0060 (none yet on a fresh profile)\n\n**Identify tensions**\n\nLook for cross-category patterns and contradictions: stated principle vs shipped code, conflicts between categories, \"Exceptions\" suggesting a weaker rule. Record contradictions in the Tensions section rather than smoothing them into a coherent narrative.\n\n**Evidence anchor resolution**\n\nEvery synthesized claim must carry the \u0060evidence_anchor\u0060 (the \u0060source_id\u0060) of the signal it was derived from. To check a claim's source identity, resolve the anchor to its retained full-evidence shard — the manifest maps \u0060source_id\u0060 to the owning shard, so only that shard is loaded. Never re-scan unbounded history. If an anchor does not resolve (stale tier, corrupt shard), the claim cannot be checked: lower its confidence or omit it.\n\n#### Step 4: Generate the profile and validate\n\nWrite the decision profile to \u0060profile_context.profile.path\u0060 following the Profile format template above.\n\nIf a previous version exists: copy to the \u0060history/\u0060 subdirectory alongside PROFILE.md, generate new version, show change summary (added, updated, removed).\n\n**Prediction validation**\n\nPick 5 decision-rich prompts NOT used to create profile entries. For each: predict what the profile would recommend, check against what happened. Report accuracy (e.g., \"4/5\").\n\nBelow 3/5: identify categories needing more signal, note in profile header, and emit \u0060♾ profile · flagged\u0060 (EX2) — the profile is written but signal quality is insufficient.\n\n---\n\n### Validate Mode\n\nQuick incremental check. Step markers: display \u0060── step N/3: verb\u0060 before each step.\nSteps: select, present, apply.\n\n#### Step V1: Select entries\n\nIdentify which entries are most worth checking by reading PROFILE.md directly and prioritizing high-confidence, stale, or tension-heavy entries. If PROFILE.md is missing, fall back to Full mode.\n\n#### Step V2: Present entries for validation\n\nPresent entries one at a time: decision name, rule text, reason surfaced, stored vs effective confidence. Ask: **Confirm**, **Challenge**, or **Skip**.\n\n#### Step V3: Apply updates and write\n\nFor each response:\n\n- **Confirm**: Bump \u0060conf\u0060 by 5 (cap at 95). Update \u0060confirmed\u0060 to today's date.\n- **Challenge**: Soften \u0060conf\u0060 by 10 (floor at 10). Update \u0060challenged\u0060 to today's date.\n Append a tension entry to the \u0060## Tensions\u0060 section:\n\n \u0060\u0060\u0060\n ### {today}: {decision name} challenged during validation\n **Decision affected**: {decision name}\n **What happened**: Challenged by user during validation\n **Status**: unresolved\n \u0060\u0060\u0060\n\n- **Skip**: No changes to this entry.\n\nUpdate the header comment before writing:\n\n- Set \u0060Validated:\u0060 to today's date.\n- Preserve \u0060Generated:\u0060 unchanged (last full rebuild date).\n- If \u0060Validated:\u0060 already exists, replace its date; otherwise append \u0060| Validated: {today}\u0060.\n\nWrite updated PROFILE.md. Report: \"Reviewed {N} entries: {N} accepted, {N} challenged, {N} skipped.\" Mention challenged entries by name.\n\n---\n\n## Safety rails\n\n<critical>\n- MUST NOT fabricate decision patterns. Every profile entry MUST be grounded in observed evidence from bounded signal tiers, memory files, configs, or conversation data.\n- MUST NOT assign confidence higher than the evidence warrants. A single data point is 30-49 (CS4), not 70+, regardless of how insightful the decision sounds. When bounded_signals.sufficiency is insufficient, cap affected categories to CS4 or below.\n- MUST NOT load the monolithic corpus.json whole. Profile synthesis reads the bounded signal tier; full-evidence records are retrieved one shard at a time via evidence_anchor.\n- MUST NOT smooth over contradictions. When evidence conflicts, record tensions rather than forcing a coherent narrative.\n- MUST NOT modify the user's session history, memory files, or config files. Profile reads these sources; it never writes to them.\n- MUST NOT share profile contents with external services or include them in commits.\n</critical>\n\n---\n\n## Exit signals\n\nReport one of these statuses at workflow completion (protocol refs: EX1-EX4).\n\nFormat: emit \u0060♾ profile · <status>\u0060 on its own line, followed by a one-sentence summary. For \u0060flagged\u0060 (EX2), \u0060stuck\u0060 (EX3), and \u0060waiting\u0060 (EX4), add a ▸ (VT15) bullet below the summary identifying what needs attention. The exit marker uses profile's canonical glyph ♾ (SG9, U+267E).\n\n- **complete** (EX1): PROFILE.md was written (Full mode) or updated (Validate mode). Metadata changes were applied, prediction accuracy was assessed (Full mode), and changes were summarized.\n- **flagged** (EX2): Profile generation or validation completed but with data quality issues: available runtime history was skipped without explicit acceptance, extraction failed for one or more sources, prediction accuracy was below 3/5, or significant tensions were found that could not be resolved from available evidence.\n- **stuck** (EX3): Cannot generate or validate a profile because extraction scripts failed entirely or session data sources are unreadable.\n- **waiting** (EX4): The user chose Validate mode but PROFILE.md lacks valid metadata. A Full mode run needs user approval, or the requested mode is ambiguous.\n\n---\n\n## Cross-capability integration\n\n### Consumption contract\n\nAll capabilities consume the profile via \u0060status.profile\u0060 from their prime context. Confidence thresholds: 65+ for strong constraint, below 45 for suggestion. Effective confidence decays over time using the formula and parameters declared in the Profile format template (§2). High effective confidence entries are treated as strong constraints; low as suggestions. Full rules are read from PROFILE.md when needed for detailed reasoning.\n\n### Consumed by\n\n- **build** — confidence-weighted summary table in Orient step; high confidence as strong constraints\n- **optimize** — calibrates experimentation style and trade-off preferences\n- **research** — informs applicability judgments; high confidence constrains recommendations\n- **discuss** — reads profile at start of every deliberation; high-confidence entries acknowledged upfront\n- **audit** — calibrates quality bar and which findings matter for this user\n- **plan** — calibrates planning depth and constraint priorities in Orient step\n\n### Fed by\n\n- **discuss** — \u0060decisions\u0060 artifact is a high-signal extraction source. Prefer \u0060agentera state decisions list --limit 20 --format json\u0060 and preserve returned \u0060missing_fields\u0060, \u0060compacted\u0060, \u0060caveats\u0060, and \u0060satisfaction.review_needed\u0060 pressure rather than raw-reading missing historical context.\n\n### Getting started\n\nFirst profile generation:\n\n\u0060\u0060\u0060\n/agentera profile\n\u0060\u0060\u0060\n\nFull extraction across all sources. Produces PROFILE.md at \u0060profile_context.profile.path\u0060.\n\nRegular validation:\n\n\u0060\u0060\u0060\n/agentera profile validate\n\u0060\u0060\u0060\n\nQuick confidence refresh without full regeneration. Run weekly or per-session.\n\nUsing the profile in other capabilities: automatic — all capabilities read \u0060status.profile\u0060 from their prime context. No manual steps needed; just ensure PROFILE.md exists."`);
4
4
  export default instructions;
5
5
  //# sourceMappingURL=instructions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/capabilities/profile/instructions.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,qlkBAAqlkB,CAAC,CAAC;AAChpkB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/capabilities/profile/instructions.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA,k+oBAAk+oB,CAAC,CAAC;AAC7hpB,eAAe,YAAY,CAAC"}
@@ -77,7 +77,7 @@ export function capabilityContextProfileSummary(profile) {
77
77
  else if (profile.stale === true)
78
78
  caveats.push("profile-derived state is stale; this is a caveat, not approval to refresh profile state.");
79
79
  const summary = {};
80
- for (const key of ["status", "path", "stale", "days_since_generated", "stale_threshold_days", "suggested_action"]) {
80
+ for (const key of ["status", "path", "stale", "days_since_generated", "stale_threshold_days", "suggested_action", "bounded_signals"]) {
81
81
  if (key in profile)
82
82
  summary[key] = profile[key];
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,OAAO,EAAU,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAG5B,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,GAAG,GAAG,MAAM;IACzD,MAAM,GAAG,GAAG,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,OAAO,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,CAAC,UAAU,CAAC,yBAAyB,KAAK,IAAI;YAC5E,sDAAsD,CACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAe,EAAE,KAAa;IACzD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAgB;IACtC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,OAAe,EAAE,QAAuB,IAAI;IACjG,MAAM,UAAU,GAAe,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACxE,IAAI,KAAK;QAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,OAAO,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,OAAe;IACtE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAmB,EAAE,MAAkB;IACjF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;IACvH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,MAAM,CAAC,eAAe;QACxC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,OAAmB;IACjE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;SAC9G,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;IAC1I,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACrI,IAAI,GAAG,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAe;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -80,6 +80,9 @@ function isFileSafe(p) {
80
80
  return false;
81
81
  }
82
82
  }
83
+ function isVerbosityAuthorityError(detail) {
84
+ return detail.startsWith("verbosity authority error");
85
+ }
83
86
  function lintChecks(text, artifact, fullArtifact) {
84
87
  const verbosityCheck = fullArtifact ? checkFullFileVerbosity(text, artifact) : checkVerbosity(text, artifact);
85
88
  const raw = {
@@ -95,7 +98,11 @@ function lintChecks(text, artifact, fullArtifact) {
95
98
  name,
96
99
  status: passed ? "pass" : "fail",
97
100
  detail,
98
- action: passed ? "" : actions[name],
101
+ action: passed
102
+ ? ""
103
+ : name === "verbosity" && isVerbosityAuthorityError(detail)
104
+ ? "Repair the verbosity budget authority or its owning artifact schema, then retry lint."
105
+ : actions[name],
99
106
  });
100
107
  }
101
108
  return checks;
@@ -149,6 +156,7 @@ export function cmdLint(args, io = {}) {
149
156
  else {
150
157
  emitLintText(payload, out);
151
158
  }
152
- return payload.status === "fail" ? 1 : 0;
159
+ const operationalFailure = payload.checks.some((check) => check.status === "fail" && isVerbosityAuthorityError(check.detail));
160
+ return operationalFailure || (args.strict && payload.status === "fail") ? 1 : 0;
153
161
  }
154
162
  //# sourceMappingURL=lint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { discoverSchemasDir, loadSchemas } from "../../appContext.js";
8
8
  import { activeObjectiveSummary, checkProfileStaleness, decisionFollowUp, decisionReviewAttention, docsSummary, healthSummary, issueCounts, loadTodoItems, parseProfileHeaderDates, planSummary, progressSummary, registryArtifactPath, selectStatusReadiness, statePresence, } from "../../orientation.js";
9
9
  import { buildOrientationAttention } from "../../orientation/attention.js";
10
10
  import { corpusCoverageSummary } from "../../orientation/corpusCoverage.js";
11
+ import { profileSignalsStatus } from "../../../analytics/profileSignals.js";
11
12
  import { statusBundleStatus } from "./bundleStatus.js";
12
13
  import { v1MigrationSummary } from "./v1Migration.js";
13
14
  import { summarizeRuntimeLifecycle, } from "../../../runtime/lifecycleSnapshot.js";
@@ -54,6 +55,8 @@ export function collectOrientationState(opts) {
54
55
  if (isStale)
55
56
  profileDict.suggested_action = "Run profile to refresh PROFILE.md";
56
57
  }
58
+ const boundedSignals = profileSignalsStatus(env, process.platform);
59
+ profileDict.bounded_signals = boundedSignals;
57
60
  const v1Artifacts = detectV1ArtifactPairs(process.cwd());
58
61
  const v1Migration = v1MigrationSummary(v1Artifacts, { sourceRoot, home, env });
59
62
  const plan = planSummary(schemas);
@@ -1 +1 @@
1
- {"version":3,"file":"collectOrientationState.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/collectOrientationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectOrientationState.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/collectOrientationState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EACL,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,MAAM,UAAU,uBAAuB,CAAC,IAAe;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAClD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,MAAM,WAAW,GAAmB,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7E,IAAI,aAAa,KAAK,WAAW;QAAE,WAAW,CAAC,gBAAgB,GAAG,oCAAoC,CAAC;IACvG,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC;QACzD,WAAW,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC7C,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC;QAC5B,WAAW,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC7C,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,uBAAuB,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9E,IAAI,WAAW,CAAC,aAAa;oBAAE,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC;gBACtF,IAAI,WAAW,CAAC,aAAa;oBAAE,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,WAAW,CAAC,gBAAgB,GAAG,mCAAmC,CAAC;IAClF,CAAC;IACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,WAAW,CAAC,eAAe,GAAG,cAA8D,CAAC;IAC7F,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,KAAK,MAAM,UAAU,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAU,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,UAAU,CAAC,GAAG;gBACpB,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC/I,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE;gBAC3C,SAAS,EAAE;oBACT,IAAI,EAAE,kBAAkB,UAAU,gCAAgC;oBAClE,GAAG,EAAE,kBAAkB,UAAU,+BAA+B;iBACjE;gBACD,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,EAAE;aAC5E,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;QAC3D,IAAI;QACJ,OAAO;QACP,UAAU;QACV,GAAG;QACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;QACrD,OAAO;QACP,UAAU;QACV,IAAI;QACJ,GAAG;QACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,KAAK;QACtE,iBAAiB;KAClB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,kCAAkC,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAErF,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC1C,WAAW,EAAE,UAAU;QACvB,OAAO;QACP,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,aAAa;QAC7B,OAAO;QACP,YAAY,EAAE,WAAW;QACzB,mBAAmB,EAAE,kBAAkB;QACvC,0BAA0B,EAAE,iBAAiB;QAC7C,iBAAiB,EAAE,gBAAgB;QACnC,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,SAAS;QACT,cAAc,EAAE,QAAQ;QACxB,eAAe,EAAE,cAAc;QAC/B,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,kBAAkB,EAAE,iBAAiB;QACrC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,EAAE;QACb,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,OAAO;QACP,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,aAAa;QAC7B,OAAO;QACP,YAAY,EAAE,WAAW;QACzB,mBAAmB,EAAE,kBAAkB;QACvC,0BAA0B,EAAE,iBAAiB;QAC7C,iBAAiB,EAAE,gBAAgB;QACnC,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,SAAS;QACT,cAAc,EAAE,QAAQ;QACxB,eAAe,EAAE,cAAc;QAC/B,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,kBAAkB,EAAE,iBAAiB;QACrC,WAAW,EAAE,UAAU;QACvB,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;qCAIqC;AACrC,MAAM,UAAU,kCAAkC,CAChD,SAAwB,EACxB,kBAA2D;IAE3D,IAAI,kBAAkB,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,eAAe,CAAC,SAAS,EAAE;YAChC,MAAM,EACH,kBAAkB,CAAC,iBAA4B,GAAG,CAAC;gBAClD,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAE,kBAAkB,CAAC,eAA0B,GAAG,CAAC;oBAClD,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,kBAAkB;YAC1B,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,kBAAkB,CAAC,eAAe;gBACxC,CAAC,CAAC,GAAG,kBAAkB,CAAC,OAAO,mBAAmB,kBAAkB,CAAC,eAAe,EAAE;gBACtF,CAAC,CAAC,kBAAkB,CAAC,OAAO;YAC9B,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC;IACD,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,SAAS,EAAE;YAChC,MAAM,EAAE,iCAAiC;YACzC,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,kBAAkB,CAAC,oBAAoB;YAC/C,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB,EAAE,cAA0B;IACtE,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -5,8 +5,14 @@ import { resolveProfileDirOverride, resolveXdgDataHome } from "../../core/envPat
5
5
  import { expanduser } from "../../core/paths.js";
6
6
  import { usageMain, corpusTooLargeReason } from "../../analytics/usageStats.js";
7
7
  import { extractCorpusMain } from "../../analytics/extractCorpus.js";
8
+ import { tiersDirForCorpusPath, assessTiers, readBoundedMetadata, } from "../../analytics/extractCorpus/index.js";
8
9
  function buildExtractArgv(args, corpusPath) {
9
- const argv = ["--output", corpusPath];
10
+ // Refresh publishes bounded evidence tiers to the directory co-located with
11
+ // the canonical corpus path (`<dir>/tiers`); the extract engine no longer
12
+ // accepts the monolithic `--output corpusPath` write target (tiers are the
13
+ // only canonical output). Passing `--tier-output` makes the displayed
14
+ // `corpus_path`/`tier_path` truthful: tiers land at `dirname(corpusPath)/tiers`.
15
+ const argv = ["--tier-output", tiersDirForCorpusPath(corpusPath)];
10
16
  for (const root of args.projectRoot ?? [])
11
17
  argv.push("--project-root", root);
12
18
  if (args.codexSessionsDir)
@@ -73,30 +79,62 @@ export function statsCorpusPath(env = process.env, platform = process.platform)
73
79
  }
74
80
  /** Faithful port of `_stats_existing_corpus_status`. */
75
81
  export function statsExistingCorpusStatus(corpusPath) {
82
+ // Bounded tier path: when tiers are published, report readiness from the
83
+ // manifest + retained corpus metadata without reading full evidence. The
84
+ // documented `tier_state`/`tier_path` fields extend the legacy shape;
85
+ // existing `status`/`reason`/`extracted_at`/`total_records` are preserved.
86
+ const tiersDir = tiersDirForCorpusPath(corpusPath);
87
+ const assessment = assessTiers(tiersDir, corpusPath);
88
+ if (assessment.analyzable) {
89
+ const meta = readBoundedMetadata(tiersDir);
90
+ const manifest = meta.manifest;
91
+ const extractedAt = meta.corpusMetadata?.extracted_at ?? null;
92
+ return {
93
+ status: "ready",
94
+ path: corpusPath,
95
+ tier_path: tiersDir,
96
+ tier_state: assessment.state,
97
+ reason: "bounded evidence tier published",
98
+ extracted_at: extractedAt ?? (manifest?.published_at ?? null),
99
+ total_records: manifest?.total_records ?? 0,
100
+ };
101
+ }
102
+ if (assessment.state === "oversized" || assessment.state === "corrupt") {
103
+ return {
104
+ status: "stale",
105
+ path: corpusPath,
106
+ tier_path: tiersDir,
107
+ tier_state: assessment.state,
108
+ reason: assessment.recovery ?? `${assessment.state} evidence tier`,
109
+ ...(assessment.artifact ? { artifact: assessment.artifact } : {}),
110
+ };
111
+ }
112
+ // Legacy or missing: preserve the corpus-envelope status behavior.
76
113
  if (!fs.existsSync(corpusPath)) {
77
114
  return { status: "missing", path: corpusPath, reason: "corpus file does not exist" };
78
115
  }
79
116
  const tooLarge = corpusTooLargeReason(corpusPath);
80
117
  if (tooLarge) {
81
- return { status: "stale", path: corpusPath, reason: tooLarge };
118
+ return { status: "stale", path: corpusPath, tier_state: "legacy", reason: tooLarge };
82
119
  }
83
120
  let data;
84
121
  try {
85
122
  data = JSON.parse(fs.readFileSync(corpusPath, "utf8"));
86
123
  }
87
124
  catch (exc) {
88
- return { status: "stale", path: corpusPath, reason: `corpus is not readable JSON: ${exc.message}` };
125
+ return { status: "stale", path: corpusPath, tier_state: "legacy", reason: `corpus is not readable JSON: ${exc.message}` };
89
126
  }
90
127
  const records = data && typeof data === "object" && !Array.isArray(data) ? data.records ?? [] : [];
91
128
  const hasTurn = Array.isArray(records) &&
92
129
  records.some((r) => r && typeof r === "object" && r.source_kind === "conversation_turn");
93
130
  if (!hasTurn) {
94
- return { status: "stale", path: corpusPath, reason: "corpus has no conversation_turn records" };
131
+ return { status: "stale", path: corpusPath, tier_state: "legacy", reason: "corpus has no conversation_turn records" };
95
132
  }
96
133
  const metadata = data.metadata && typeof data.metadata === "object" ? data.metadata : {};
97
134
  return {
98
135
  status: "ready",
99
136
  path: corpusPath,
137
+ tier_state: "legacy",
100
138
  reason: "existing corpus has conversation_turn records",
101
139
  extracted_at: metadata.extracted_at ?? null,
102
140
  total_records: records.length,
@@ -105,9 +143,9 @@ export function statsExistingCorpusStatus(corpusPath) {
105
143
  /**
106
144
  * Faithful port of scripts/agentera `cmd_stats` (canonical command is `report`;
107
145
  * `stats` is the deprecated alias and shares this logic). The plain read path
108
- * reuses the ported usage engine; corpus refresh (which would run the maintainer
109
- * extractor over local runtime history) is reported as unavailable in the
110
- * self-contained package.
146
+ * reuses the ported usage engine over bounded tiers (with a legacy
147
+ * corpus.json fallback when no tiers are published). `stats refresh` publishes
148
+ * bounded tiers from local runtime history under explicit consent.
111
149
  */
112
150
  export function cmdReport(args, io = {}) {
113
151
  const out = io.out ?? ((t) => process.stdout.write(t));
@@ -143,15 +181,16 @@ export function cmdReport(args, io = {}) {
143
181
  privacy: {
144
182
  local_history_read: false,
145
183
  local_history_write: false,
146
- corpus_write: false,
184
+ tier_write: false,
147
185
  required_consent: "local-history",
148
186
  provided_consent: null,
149
187
  },
150
188
  corpus_path: corpusPath,
189
+ tier_path: tiersDirForCorpusPath(corpusPath),
151
190
  engine: { command: engineCommand },
152
191
  diagnostics: [
153
- "dry-run does not read runtime history or write corpus files",
154
- "generated corpus is internal state for stats at $AGENTERA_PROFILE_DIR/intermediate/corpus.json",
192
+ "dry-run does not read runtime history or write tier files",
193
+ "published tiers are internal state for stats at $AGENTERA_PROFILE_DIR/intermediate/tiers",
155
194
  ...(args.importSources?.includes("claude")
156
195
  ? ["Claude historical import can contain secrets, file contents, and command output; apply stays local and read-only"]
157
196
  : []),
@@ -161,12 +200,12 @@ export function cmdReport(args, io = {}) {
161
200
  out(JSON.stringify(payload, null, 2) + "\n");
162
201
  }
163
202
  else {
164
- out(`agentera stats refresh: dry_run\ncorpus=${corpusPath}\nengine=${engineCommand.join(" ")}\n`);
165
- out("privacy=local_history_read=false, corpus_write=false, required_consent=local-history\n");
203
+ out(`agentera stats refresh: dry_run\ncorpus=${corpusPath}\ntiers=${tiersDirForCorpusPath(corpusPath)}\nengine=${engineCommand.join(" ")}\n`);
204
+ out("privacy=local_history_read=false, tier_write=false, required_consent=local-history\n");
166
205
  }
167
206
  return 0;
168
207
  }
169
- // consent === "local-history": run the corpus extractor over local history.
208
+ // consent === "local-history": extract local history into bounded tiers.
170
209
  let engineOut = "";
171
210
  let engineErr = "";
172
211
  const rc = extractCorpusMain(engineArgv, {
@@ -181,7 +220,7 @@ export function cmdReport(args, io = {}) {
181
220
  privacy: {
182
221
  local_history_read: true,
183
222
  local_history_write: false,
184
- corpus_write: rc === 0,
223
+ tier_write: rc === 0,
185
224
  required_consent: "local-history",
186
225
  provided_consent: "local-history",
187
226
  historical_imports: args.importSources ?? [],
@@ -190,13 +229,14 @@ export function cmdReport(args, io = {}) {
190
229
  : null,
191
230
  },
192
231
  corpus_path: corpusPath,
232
+ tier_path: tiersDirForCorpusPath(corpusPath),
193
233
  engine: { command: engineCommand, exit_code: rc, stdout: engineOut.split("\n").filter((l) => l), stderr: engineErr.split("\n").filter((l) => l) },
194
234
  };
195
235
  if (outputFormat === "json") {
196
236
  out(JSON.stringify(payload, null, 2) + "\n");
197
237
  }
198
238
  else {
199
- out(`agentera stats refresh: ${payload.status}\ncorpus=${corpusPath}\n`);
239
+ out(`agentera stats refresh: ${payload.status}\ncorpus=${corpusPath}\ntiers=${tiersDirForCorpusPath(corpusPath)}\n`);
200
240
  if (engineOut)
201
241
  out(engineOut);
202
242
  if (engineErr)
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAkChD,SAAS,gBAAgB,CAAC,IAAgB,EAAE,UAAkB;IAC5D,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,iFAAiF;IACjF,MAAM,IAAI,GAAa,CAAC,eAAe,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,gBAAgB;QAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,iBAAiB;QAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,wBAAwB;QAAE,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5G,IAAI,IAAI,CAAC,uBAAuB;QAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzG,IAAI,IAAI,CAAC,iBAAiB;QAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,cAAc;QAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,iBAAiB;QAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,iBAAiB;QAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,8FAA8F,CAAC;AACxG,CAAC;AACD,SAAS,YAAY;IACnB,OAAO,iDAAiD,CAAC;AAC3D,CAAC;AAED,kGAAkG;AAClG,SAAS,oBAAoB,CAAC,MAAc;IAC1C,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,gCAAgC;YACjE,WAAW,WAAW,EAAE,cAAc,YAAY,EAAE,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAC,MAAW,OAAO,CAAC,GAAG,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAClG,MAAM,eAAe,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,eAAe;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;IAClC,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAClF,IAAI,IAAY,CAAC;IACjB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACzG,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,IAAI,CAAC;QAC9D,OAAO;YACL,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,UAAU,CAAC,KAAK;YAC5B,MAAM,EAAE,iCAAiC;YACzC,YAAY,EAAE,WAAW,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC;YAC7D,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC;SAC5C,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,UAAU,CAAC,KAAK;YAC5B,MAAM,EAAE,UAAU,CAAC,QAAQ,IAAI,GAAG,UAAU,CAAC,KAAK,gBAAgB;YAClE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,gCAAiC,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IACvI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IACxH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,+CAA+C;QACvD,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI;QAC3C,aAAa,EAAG,OAAiB,CAAC,MAAM;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB,EAAE,KAAS,EAAE;IACrD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,UAAW,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,+FAA+F,CAAC,CAAC;YACrG,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAC3C,GAAG,CACD,yGAAyG;gBACvG,uDAAuD,CAC1D,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,CAAC;QAClH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE;oBACP,kBAAkB,EAAE,KAAK;oBACzB,mBAAmB,EAAE,KAAK;oBAC1B,UAAU,EAAE,KAAK;oBACjB,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,IAAI;iBACvB;gBACD,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE,qBAAqB,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;gBAClC,WAAW,EAAE;oBACX,2DAA2D;oBAC3D,0FAA0F;oBAC1F,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC;wBACxC,CAAC,CAAC,CAAC,kHAAkH,CAAC;wBACtH,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC;YACF,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,2CAA2C,UAAU,WAAW,qBAAqB,CAAC,UAAU,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9I,GAAG,CAAC,sFAAsF,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,yEAAyE;QACzE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE;YACvC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC;YACnC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACpC,OAAO,EAAE;gBACP,kBAAkB,EAAE,IAAI;gBACxB,mBAAmB,EAAE,KAAK;gBAC1B,UAAU,EAAE,EAAE,KAAK,CAAC;gBACpB,gBAAgB,EAAE,eAAe;gBACjC,gBAAgB,EAAE,eAAe;gBACjC,kBAAkB,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;gBAC5C,yBAAyB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC;oBAC/D,CAAC,CAAC,2GAA2G;oBAC7G,CAAC,CAAC,IAAI;aACT;YACD,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,qBAAqB,CAAC,UAAU,CAAC;YAC5C,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;SAClJ,CAAC;QACF,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,YAAY,UAAU,WAAW,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrH,IAAI,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,CACD,oCAAoC,MAAM,KAAK;YAC7C,4HAA4H,CAC/H,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,GAAG,CACD,IAAI,CAAC,SAAS,CACZ;gBACE,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,kCAAkC;gBACxC,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE;aACnE,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACvD,GAAG,CAAC,UAAU,UAAU,IAAI,CAAC,CAAC;YAC9B,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAChD,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,UAAU,EAAE;QAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACzB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import { corpusTooLargeReason } from "../../analytics/usageStats.js";
3
3
  import { statsCorpusPath } from "../commands/report.js";
4
+ import { tiersDirForCorpusPath, assessTiers, readBoundedMetadata, } from "../../analytics/extractCorpus/index.js";
4
5
  function emptyCoverageSummary(path, status) {
5
6
  return {
6
7
  path,
@@ -25,6 +26,36 @@ function parseCoverageGap(value) {
25
26
  }
26
27
  export function corpusCoverageSummary(env = process.env, platform = process.platform) {
27
28
  const corpusPath = statsCorpusPath(env, platform);
29
+ const tiersDir = tiersDirForCorpusPath(corpusPath);
30
+ const assessment = assessTiers(tiersDir, corpusPath);
31
+ // Bounded tier coverage: when tiers are published, the manifest's coverage
32
+ // envelope truthfully reports the audit's available/selected/skipped runtimes
33
+ // without reading full evidence. The signal tier (bounded) remains usable even
34
+ // when a full-evidence shard is oversized, per the authority contract.
35
+ if (assessment.state !== "legacy" && assessment.state !== "missing") {
36
+ const meta = readBoundedMetadata(tiersDir);
37
+ const envelope = meta.corpusMetadata?.coverage_envelope;
38
+ if (meta.signal && envelope) {
39
+ return {
40
+ path: corpusPath,
41
+ tier_path: tiersDir,
42
+ status: "loaded",
43
+ tier_state: assessment.state,
44
+ available_runtimes: [...envelope.available_runtimes],
45
+ selected_runtimes: [...envelope.selected_runtimes],
46
+ available_but_not_selected: envelope.available_but_not_selected.map((g) => ({
47
+ runtime: g.runtime,
48
+ reason: g.reason,
49
+ ...(typeof g.store_path === "string" ? { store_path: g.store_path } : {}),
50
+ })),
51
+ };
52
+ }
53
+ if (assessment.state === "oversized")
54
+ return emptyCoverageSummary(corpusPath, "too_large");
55
+ if (assessment.state === "corrupt")
56
+ return emptyCoverageSummary(corpusPath, "unreadable");
57
+ }
58
+ // Legacy monolithic envelope: small state preserved for compatibility.
28
59
  if (!fs.existsSync(corpusPath))
29
60
  return emptyCoverageSummary(corpusPath, "missing");
30
61
  const tooLarge = corpusTooLargeReason(corpusPath);
@@ -56,6 +87,7 @@ export function corpusCoverageSummary(env = process.env, platform = process.plat
56
87
  return {
57
88
  path: corpusPath,
58
89
  status: "loaded",
90
+ tier_state: "legacy",
59
91
  available_runtimes: availableRuntimes,
60
92
  selected_runtimes: selectedRuntimes,
61
93
  available_but_not_selected: skipped,
@@ -1 +1 @@
1
- {"version":3,"file":"corpusCoverage.js","sourceRoot":"","sources":["../../../src/cli/orientation/corpusCoverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corpusCoverage.js","sourceRoot":"","sources":["../../../src/cli/orientation/corpusCoverage.ts"],"names":[],"mappings":"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"}