Skip to content

test(maintenance): pin attune-author status output contract (task 1.6)#65

Merged
silversurfer562 merged 1 commit into
claude/doc-automation-p1-reportfrom
claude/doc-automation-p1-status-contract
Jun 15, 2026
Merged

test(maintenance): pin attune-author status output contract (task 1.6)#65
silversurfer562 merged 1 commit into
claude/doc-automation-p1-reportfrom
claude/doc-automation-p1-status-contract

Conversation

@silversurfer562

Copy link
Copy Markdown
Member

Phase 1, task 1.6 — status output contract

Stacked on #64 (base will auto-retarget to main once #64 merges).

attune-ai's dashboard shells out to attune-author status and parses the markdown to find stale help features (attune-ai/src/attune/ops/help_data.py::_parse_status_output). Task 1.6 = confirm that contract is intact and guard it.

Findings

Verified attune-author's status output already satisfies the parser, unchanged:

  • ## Help Templates h2 → ### Stale h3 → | <feature-slug> | … | (slug is the first column)
  • ## Project Docs h2 is correctly excluded by the parser (regenerate doesn't touch docs/)

No production change needed.

Guard

Added tests/test_status_output_contract.py — a faithful mirror of attune-ai's _parse_status_output run against format_status_report output. If attune-author's format ever drifts in a way that breaks the dashboard parser, attune-author CI goes red (the two repos can't import each other, so the contract is pinned on this side). Verifies: stale help features parse out, current/Project-Docs features are excluded, and table header/divider rows aren't mistaken for features.

Spec task 1.6 ✅. Remaining Phase 1: 1.7 (release attune-author).

🤖 Generated with Claude Code

…k 1.6)

attune-ai's dashboard parses 'attune-author status' to find stale help
features. Confirmed the output format is unchanged and add a contract
guard mirroring attune-ai's _parse_status_output, so a future format
drift fails attune-author CI rather than silently breaking the
dashboard (constraint C2). No production change needed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@silversurfer562 silversurfer562 merged commit e804529 into claude/doc-automation-p1-report Jun 15, 2026
13 checks passed
silversurfer562 added a commit that referenced this pull request Jun 15, 2026
)

* feat(maintenance): derived maintenance report + coverage (spec task 1.5)

Adds an auditing view over the maintenance contract and closes the
patch-coverage gaps from the Phase 1 PR (#63).

- maintenance_contract.py: scan_maintenance() walks the corpus and
  resolves each page's mode; format_maintenance_report() groups by mode
  (manual/hybrid listed; auto omitted unless --all). Module at 100%.
- cli.py: new 'attune-author maintenance-report [--all]' command. Kept
  separate from 'status' so the status output stays stable for
  attune-ai's parser (constraint C2).
- Tests: scanner/formatter/CLI coverage, plus the previously-uncovered
  defensive branches (unbalanced regenerated fences, field carry no-ops,
  unreadable page) and an end-to-end generator test proving a hybrid
  region survives regeneration even under --overwrite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(maintenance): forward-slash paths in report for Windows portability

format_maintenance_report now renders page paths via as_posix() so the
report is identical across OSes (Windows was emitting backslashes,
breaking the cross-platform CI matrix).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test(maintenance): pin attune-author status output contract (spec task 1.6) (#65)

attune-ai's dashboard parses 'attune-author status' to find stale help
features. Confirmed the output format is unchanged and add a contract
guard mirroring attune-ai's _parse_status_output, so a future format
drift fails attune-author CI rather than silently breaking the
dashboard (constraint C2). No production change needed.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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