Skip to content

feat: add dated, interpreted run analyses - #5265

Merged
Trecek merged 16 commits into
developfrom
impl-issue-4654-dated-run-analyses-20261011
Oct 12, 2026
Merged

Trecek merged 16 commits into
developfrom
impl-issue-4654-dated-run-analyses-20261011

Conversation

@Trecek

@Trecek Trecek commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Adds dated, self-contained run analyses from a frozen report-index snapshot. The analyze-run skill prepares measurements, writes evidence-linked interpretation, and publishes findings beside the existing deck charts. Unchanged inputs reuse the first verified completed interpretation; previous analyses remain intact.

  • Preserve original logical-run timestamps and rollout declarations in report-index schema v4, including sub-millisecond cutover classification.
  • Freeze all five fact populations, prepared measurements, coverage, and the ordered rendering assets. Separate the fixed corpus/window anchor from analysis creation time.
  • Publish create-only measurements, findings, HTML, and a completion manifest under a bounded publication lease. Validate packet bindings, same-view evidence, predecessor integrity, and concurrent interpretation reuse.
  • Display saved interpretation, field-specific sample sizes, availability, units, and noncausation guardrails beside charts; changing filters preserves the findings' frozen scope.
  • Add prepare/finish CLI commands, skill admission and output contracts, and operator documentation.

Validation

  • pre-commit run --all-files passed.
  • MCP test_check running the configured task test-local-gate passed on c328ff19f: 51,305 passed, 617 skipped, 29 xfailed.
  • Explicit task test-check passed on c328ff19f: exit 0, TEST_RESULT=PASS, 54,714 passed, 810 skipped, 29 xfailed.
  • Synthetic repeated analyses at different creation times produced identical contents across all four published artifacts after normalizing only the declared analysis timestamp.

Implementation locations

The analysis implementation lives in report/_analysis.py to preserve the deck package's file limit. The public validate_rollout_marker function is restored to the planned _type_results.py location, which measures 747 budgeted lines. Its shared private timestamp and scope helpers remain beside RolloutMarker in _type_results_records.py; putting the parser back too would require 762 lines against the 750-line cap. The planned public report/deck and core APIs are retained.

Audit findings addressed

The audit cited the earlier six-failure run. Those failures were fixed in b43179335; fresh verification of c328ff19f now confirms both required commands pass. This update restores the public validator's planned definition location.

  • Manifest enumeration reads handle anticipated errors and fail visibly if completed evidence disappears; no allowlist exemption was added.
  • Trend assertions associate sample sizes and guardrails with the specific temporal or frozen comparison they check.
  • Test-filter declarations match actual importers, and core narrow-routing expectations include the new config/report consumers.
  • Skill output/placeholder contracts are aligned; the skill has no invented agent role or child/join requirement.

The original “780 lines” justification omitted the measured source state. The earlier reduced file measured 714; reproducibly restoring all validation functions to that immutable state measures 780, and restoring validator plus parser measures 762. The final results module measures 747. The corrected evidence identifies commits and source hashes, and the public validator is now in its planned module.

The remaining analysis-module relocation preserves the deck's enforced 12-file limit and its public API. The write-recipe inventory update is required by the bundled-skill filesystem contract. Publication/retention tests remain in the report layer, with separate CLI integration coverage, avoiding repeated CLI setup for domain-level concurrency and corruption cases.

Closes #4654

@Trecek
Trecek added this pull request to the merge queue Oct 12, 2026
Merged via the queue into develop with commit 796baef Oct 12, 2026
11 checks passed
@Trecek
Trecek deleted the impl-issue-4654-dated-run-analyses-20261011 branch October 12, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant