Skip to content

docs: Phase 2 doc-drift reconcile — 5 files match current implementation#171

Merged
dackclup merged 1 commit into
mainfrom
claude/doc-drift-reconcile-Ph2Dx
May 21, 2026
Merged

docs: Phase 2 doc-drift reconcile — 5 files match current implementation#171
dackclup merged 1 commit into
mainfrom
claude/doc-drift-reconcile-Ph2Dx

Conversation

@dackclup
Copy link
Copy Markdown
Owner

Summary

Phase 2 of the 5-phase roadmap addressing findings from the
14-subagent full self-audit (2026-05-21). Doc drift surfaced by
docs-reviewer + methodology-scientist against the actual production
state on cron a16c887 (2026-05-20) + schema version on
compute/config.py:30 — no compute / schema / output / dep change.

Five reconciles in lockstep

(a) PHASE_STATUS.md §Current state block

(b) SKILL.md schema-version table — 2 missing rows

(c) WORKFLOW.md Phase 4.5d loss_avoidance_pattern task

(d) docs/METHODOLOGY.md

(e) README.md §Honest Limitations

(+) CLAUDE.md §Phase status + AGENTS.md §Phase + version state — matching "Phase 2 in flight" entries per §Conventions "ship with every PR" lockstep rule.

Pre-commit gate (all 3 verified)

Agent Verdict
docs-reviewer NEEDS-CLARITY-PASS → fixed (data_quality_input_corruption rule description widened to cover both risk_overlay.py snapshot path + ensemble.py output path). All numbers / PR refs / schema version / skill count / subagent count verified accurate.
methodology-scientist data_quality veto classification CONFIRMED via dual-surface emission; value_trap / loss_avoidance / restatement_history all CLEAN. (One false-positive finding on going_concern_disclosure 1.0% — I verified 5/502 = 1.00% in frontend/public/data/stocks/ directly; the agent searched the wrong field; claim retained.)
phase-coordinator Mode A+B LOCKSTEP-SATISFIED. Mode A COLLISION-RISK with PR #170 (Phase 1 ops hardening) — both PRs append to the tail of CLAUDE.md + AGENTS.md §Phase status block. Strategy: land PR #170 first, then rebase this branch. Conflict is mechanical 2-paragraph merge.

⚠️ Merge order

This PR has a textual collision with PR #170 (Phase 1 ops hardening) on the §Phase status block of CLAUDE.md + AGENTS.md. The collision is mechanical, not semantic.

Recommended sequence:

  1. Merge PR chore(ops): downgrade compute-monthly perms + reconcile EDGAR_MAX_WORKERS doc #170 first (it's narrower scope: CI permissions + 2 doc text fixes)
  2. Rebase this branch on updated main: git rebase origin/main
  3. Resolve the 2-paragraph append conflict in §Phase status (both blocks coexist in chronological order)
  4. Flip this PR to Ready

Both PRs come from the same 14-subagent self-audit; merging in this order keeps the §Phase status history complete.

Deferred to a follow-up Phase 2.x PR (too large for this scope)

  • METHODOLOGY.md annotate-only section full refresh (7 → 14+ flags)
  • Missing citation blocks: full Hennes-Leone-Miller 2008 TAR, Cohen-Malloy-Pomorski 2012, etc.

Needs methodology-scientist sign-off per the new-defense-flow rule.

Test plan

  • docs-reviewer pre-commit — CLEAN after rule-description fix
  • methodology-scientist pre-commit — verified vetoes table + drift block
  • phase-coordinator Mode A+B — LOCKSTEP-SATISFIED + collision strategy documented
  • CI: GitHub Actions lint / type-check pass (no Python / TypeScript edited; CI should be trivially green)
  • After PR chore(ops): downgrade compute-monthly perms + reconcile EDGAR_MAX_WORKERS doc #170 merges → rebase + Mark Ready

🤖 Generated with Claude Code


Generated by Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
quantrank Ready Ready Preview, Comment May 21, 2026 11:10am

Second deliverable from the 14-subagent full self-audit (2026-05-21).
Doc drift surfaced by `docs-reviewer` + `methodology-scientist` against
the actual production state on `a16c887` (2026-05-20 cron) + the schema
version on `compute/config.py:30`.

Five reconciles in lockstep:

(a) PHASE_STATUS.md §Current state — schema `0.9.2-phase4h.2` →
    `0.9.4-phase4h.4`; defense layer headline 17 declared → 27 emitted
    flags (per PR #154 reconcile); skill inventory 38 → 42; subagent
    inventory added (14 in 4 tiers); active-vetoes list explicit
    (7 named); recently-merged block refreshed from PR #146-back to
    PRs #148-#169 (~20 PRs since `v1.2.0-phase4.5`); next-deliverables
    list updated to drop the PR-#148-closed Epic #125 Item 3 entry
    and add the `loss_avoidance_pattern` size-invariant follow-up.

(b) SKILL.md schema-version table — 2 missing rows added:
    `0.9.3-phase4h.3` (PR #160, explicit `Metadata.tier2_enabled` field,
    closes #117/#155) and `0.9.4-phase4h.4` (PR #161, additive
    `valuation_methods_applicable` field on `StockDetail` and nested
    in `fair_price` dict, additive only — no consumer migration).

(c) WORKFLOW.md Phase 4.5d `loss_avoidance_pattern` task — threshold
    description `$5M / $0.05` → `$50M / $0.50` (PR #163 Phase 2.4
    10× rescale). Adds the Phase 4 size-invariant follow-up note
    (NI / TotalAssets) carried from CLAUDE.md §Gotchas since the
    rescale still fires 0% on production.

(d) docs/METHODOLOGY.md — Active vetoes 4 → 7 rows: adds
    `beneish_manipulation_veto` (Beneish 1999 *FAJ*),
    `dechow_manipulation_veto` (Dechow 2011 *CAR* Model 1), and
    `data_quality_input_corruption` (with the dual-path rule —
    `risk_overlay.py` snapshot-level TBVPS guard + `ensemble.py`
    output-level guard). Known-calibration-drift block refreshed:
    `value_trap_risk` (Issue #11 closed via PR #166),
    `going_concern_disclosure` (FP rate now 1.0% within Mayew band —
    verified 5/502 on production cron),
    `loss_avoidance_pattern` (still 0% after Phase 2.4 rescale,
    follow-up to size-invariant), `restatement_history` (Phase 2.2
    high-confidence complement via PR #165).

(e) README.md §Honest Limitations — adds Phase 2.2
    `restatement_high_confidence` and Issue #11 closure (PR #166)
    entries; mentions PR #163's 10× rescale on the
    `loss_avoidance_pattern` line.

CLAUDE.md §Phase status + AGENTS.md §Phase + version state — matching
"Phase 2 in flight" entries per §Conventions "ship with every PR" rule.

Deferred to a follow-up Phase 2.x PR (too large for this scope):
METHODOLOGY.md annotate-only section full refresh (7 → 14+ flags) +
missing citation blocks (full Hennes-Leone-Miller 2008 *TAR*,
Cohen-Malloy-Pomorski 2012, etc.) — needs `methodology-scientist`
sign-off per the new-defense-flow rule.

Pre-commit verification:
- docs-reviewer NEEDS-CLARITY-PASS → fixed `data_quality_input_corruption`
  rule description in METHODOLOGY.md to cover both veto paths
  (snapshot-level `risk_overlay.py` + output-level `ensemble.py`).
- methodology-scientist findings: data_quality veto classification
  CONFIRMED via dual-surface emission; value_trap / loss_avoidance /
  restatement_history all CLEAN.
- phase-coordinator Mode A: COLLISION-RISK with PR #170 (Phase 1
  ops hardening on `claude/enable-subagents-standby-7lMN4`) on
  CLAUDE.md + AGENTS.md §Phase status block — both PRs append to
  the tail. Strategy: PR #170 merges first, then this branch rebases
  onto updated main; conflict is mechanical 2-paragraph merge.

No compute / schema / output / dep change. Lint passes (no Python /
TypeScript edited).

https://claude.ai/code/session_01HtcGy4F59TaawNQ7V1Eysc

Co-authored-by: Claude <noreply@anthropic.com>
@dackclup dackclup force-pushed the claude/doc-drift-reconcile-Ph2Dx branch from c31e330 to 9e680ef Compare May 21, 2026 11:09
@dackclup dackclup marked this pull request as ready for review May 21, 2026 11:12
@dackclup dackclup merged commit 842f68d into main May 21, 2026
4 checks passed
@dackclup dackclup deleted the claude/doc-drift-reconcile-Ph2Dx branch May 21, 2026 11:12
dackclup pushed a commit that referenced this pull request May 24, 2026
Addresses release-captain BLOCKED-ON-PRE-FLIGHT blocker #3 from
the v1.3.0 tag attempt — PHASE_STATUS.md / SKILL.md / WORKFLOW.md
were 3 days + ~32 PRs stale (last touched PR #171, 2026-05-21).
Brings all three docs current to main HEAD 1ff6c11 so the
release-captain ladder can re-attempt cleanly.

PHASE_STATUS.md
- Header date 2026-05-21 → 2026-05-24
- Current state table: schema 0.9.4-phase4h.4 → 0.10.2-phase4.5e;
  defense layer 27 → 32 emitted flags; subagent inventory 14 → 18
  (named tier roster — 4 opus / 14 sonnet); skill inventory 42 → 43;
  production run a16c8879015748 (cron #3 2026-05-23); release-
  tag line annotated with v1.3.0 target pending
- Recently-merged block: refreshed to PR #170 → PR #237 (~36
  entries with commit shas, chronological), drops the stale PR
  #147-#169 block
- Next-deliverables list: 5 items updated — Phase 4.5e PR 5
  cluster weight promotion / Issue #67 sector-CoE flip / v1.3.0
  release tag gate / Phase 4i.1-4j.1-4k.1 factor integrations /
  Phase 5 ML meta-learner
- Open issues line: drops resolved #155 (closed via PR #160),
  refreshes #41 (15 open advisories, zero exploitability on
  static-export), refreshes #67 (data-collection merged PR #204)

SKILL.md
- Schema-version table: 7 new rows added in reverse-chronological
  order (matches existing 0.9.x convention) for `0.9.5` → `0.9.6`
  → `0.9.7` → `0.9.8` → `0.10.0` → `0.10.1` → `0.10.2` covering
  PRs #180/#181/#183/#204/#205/#222/#224. Each row carries PR #
  + 1-line scope + backward-compat note + literature anchor.

WORKFLOW.md
- Phase Overview table 4.5 row marked ✅ DONE 2026-05-23 + 10b5-1
  filter scope note
- SEC Filing Roadmap Form 4 row flipped "planned" → "active" with
  4-PR ladder reference (#167/#205/#222/#224 + 100% coverage on
  cron #3)
- Phase 4.5e task list — 5 items flipped `[ ]` → `[x]` with per-PR
  commits + methodology-scientist Mode B verdicts inline + Aboody
  et al. 2010 §3.2 weight-promotion gate noted
- Phase 4.5 Acceptance Criteria — all 9 items flipped to `[x]`
  with completion evidence (cron #3 / methodology verdicts /
  PR refs)
- Phase 4.5f tag item — flipped `[ ]` → `[x]` (`v1.2.0-phase4.5`
  cut 2026-05-17 at 6d414a9)

PHASE_STATUS_INFLIGHT.md
- Append new "(this PR)" entry under In-flight section per the
  PR #237 side-file convention. Documents the doc-refresh scope
  + cross-refs to release-captain blockers 1/2/4/5 still pending.

Lockstep
- PR #237's PHASE_STATUS_INFLIGHT.md side-file pattern handles
  the §Conventions "ship with every PR" rule for this doc-only PR
- No CLAUDE.md / AGENTS.md substantive change required — the
  in-flight entry lives in the side-file per the new convention
- No compute / schema / scoring / valuation / frontend / Python /
  TypeScript code change
- Unblocks v1.3.0 tag blocker #3; blockers 1 (wrong-branch),
  2 (pyproject.toml 0.3.0 → 1.3.0), 4 (production output 1 cron
  cycle behind code), and 5 (release notes draft scope) still
  need resolution before tag cut
dackclup pushed a commit that referenced this pull request May 24, 2026
Addresses release-captain BLOCKED-ON-PRE-FLIGHT blocker #3 from
the v1.3.0 tag attempt — PHASE_STATUS.md / SKILL.md / WORKFLOW.md
were 3 days + ~32 PRs stale (last touched PR #171, 2026-05-21).
Brings all three docs current to main HEAD 1ff6c11 so the
release-captain ladder can re-attempt cleanly.

PHASE_STATUS.md
- Header date 2026-05-21 → 2026-05-24
- Current state table: schema 0.9.4-phase4h.4 → 0.10.2-phase4.5e;
  defense layer 27 → 32 emitted flags; subagent inventory 14 → 18
  (named tier roster — 4 opus / 14 sonnet); skill inventory 42 → 43;
  production run a16c8879015748 (cron #3 2026-05-23); release-
  tag line annotated with v1.3.0 target pending
- Recently-merged block: refreshed to PR #170 → PR #237 (~36
  entries with commit shas, chronological), drops the stale PR
  #147-#169 block
- Next-deliverables list: 5 items updated — Phase 4.5e PR 5
  cluster weight promotion / Issue #67 sector-CoE flip / v1.3.0
  release tag gate / Phase 4i.1-4j.1-4k.1 factor integrations /
  Phase 5 ML meta-learner
- Open issues line: drops resolved #155 (closed via PR #160),
  refreshes #41 (15 open advisories, zero exploitability on
  static-export), refreshes #67 (data-collection merged PR #204)

SKILL.md
- Schema-version table: 7 new rows added in reverse-chronological
  order (matches existing 0.9.x convention) for `0.9.5` → `0.9.6`
  → `0.9.7` → `0.9.8` → `0.10.0` → `0.10.1` → `0.10.2` covering
  PRs #180/#181/#183/#204/#205/#222/#224. Each row carries PR #
  + 1-line scope + backward-compat note + literature anchor.

WORKFLOW.md
- Phase Overview table 4.5 row marked ✅ DONE 2026-05-23 + 10b5-1
  filter scope note
- SEC Filing Roadmap Form 4 row flipped "planned" → "active" with
  4-PR ladder reference (#167/#205/#222/#224 + 100% coverage on
  cron #3)
- Phase 4.5e task list — 5 items flipped `[ ]` → `[x]` with per-PR
  commits + methodology-scientist Mode B verdicts inline + Aboody
  et al. 2010 §3.2 weight-promotion gate noted
- Phase 4.5 Acceptance Criteria — all 9 items flipped to `[x]`
  with completion evidence (cron #3 / methodology verdicts /
  PR refs)
- Phase 4.5f tag item — flipped `[ ]` → `[x]` (`v1.2.0-phase4.5`
  cut 2026-05-17 at 6d414a9)

PHASE_STATUS_INFLIGHT.md
- Append new "(this PR)" entry under In-flight section per the
  PR #237 side-file convention. Documents the doc-refresh scope
  + cross-refs to release-captain blockers 1/2/4/5 still pending.

Lockstep
- PR #237's PHASE_STATUS_INFLIGHT.md side-file pattern handles
  the §Conventions "ship with every PR" rule for this doc-only PR
- No CLAUDE.md / AGENTS.md substantive change required — the
  in-flight entry lives in the side-file per the new convention
- No compute / schema / scoring / valuation / frontend / Python /
  TypeScript code change
- Unblocks v1.3.0 tag blocker #3; blockers 1 (wrong-branch),
  2 (pyproject.toml 0.3.0 → 1.3.0), 4 (production output 1 cron
  cycle behind code), and 5 (release notes draft scope) still
  need resolution before tag cut
dackclup added a commit that referenced this pull request May 24, 2026
…239)

Addresses release-captain BLOCKED-ON-PRE-FLIGHT blocker #3 from
the v1.3.0 tag attempt — PHASE_STATUS.md / SKILL.md / WORKFLOW.md
were 3 days + ~32 PRs stale (last touched PR #171, 2026-05-21).
Brings all three docs current to main HEAD 1ff6c11 so the
release-captain ladder can re-attempt cleanly.

PHASE_STATUS.md
- Header date 2026-05-21 → 2026-05-24
- Current state table: schema 0.9.4-phase4h.4 → 0.10.2-phase4.5e;
  defense layer 27 → 32 emitted flags; subagent inventory 14 → 18
  (named tier roster — 4 opus / 14 sonnet); skill inventory 42 → 43;
  production run a16c8879015748 (cron #3 2026-05-23); release-
  tag line annotated with v1.3.0 target pending
- Recently-merged block: refreshed to PR #170 → PR #237 (~36
  entries with commit shas, chronological), drops the stale PR
  #147-#169 block
- Next-deliverables list: 5 items updated — Phase 4.5e PR 5
  cluster weight promotion / Issue #67 sector-CoE flip / v1.3.0
  release tag gate / Phase 4i.1-4j.1-4k.1 factor integrations /
  Phase 5 ML meta-learner
- Open issues line: drops resolved #155 (closed via PR #160),
  refreshes #41 (15 open advisories, zero exploitability on
  static-export), refreshes #67 (data-collection merged PR #204)

SKILL.md
- Schema-version table: 7 new rows added in reverse-chronological
  order (matches existing 0.9.x convention) for `0.9.5` → `0.9.6`
  → `0.9.7` → `0.9.8` → `0.10.0` → `0.10.1` → `0.10.2` covering
  PRs #180/#181/#183/#204/#205/#222/#224. Each row carries PR #
  + 1-line scope + backward-compat note + literature anchor.

WORKFLOW.md
- Phase Overview table 4.5 row marked ✅ DONE 2026-05-23 + 10b5-1
  filter scope note
- SEC Filing Roadmap Form 4 row flipped "planned" → "active" with
  4-PR ladder reference (#167/#205/#222/#224 + 100% coverage on
  cron #3)
- Phase 4.5e task list — 5 items flipped `[ ]` → `[x]` with per-PR
  commits + methodology-scientist Mode B verdicts inline + Aboody
  et al. 2010 §3.2 weight-promotion gate noted
- Phase 4.5 Acceptance Criteria — all 9 items flipped to `[x]`
  with completion evidence (cron #3 / methodology verdicts /
  PR refs)
- Phase 4.5f tag item — flipped `[ ]` → `[x]` (`v1.2.0-phase4.5`
  cut 2026-05-17 at 6d414a9)

PHASE_STATUS_INFLIGHT.md
- Append new "(this PR)" entry under In-flight section per the
  PR #237 side-file convention. Documents the doc-refresh scope
  + cross-refs to release-captain blockers 1/2/4/5 still pending.

Lockstep
- PR #237's PHASE_STATUS_INFLIGHT.md side-file pattern handles
  the §Conventions "ship with every PR" rule for this doc-only PR
- No CLAUDE.md / AGENTS.md substantive change required — the
  in-flight entry lives in the side-file per the new convention
- No compute / schema / scoring / valuation / frontend / Python /
  TypeScript code change
- Unblocks v1.3.0 tag blocker #3; blockers 1 (wrong-branch),
  2 (pyproject.toml 0.3.0 → 1.3.0), 4 (production output 1 cron
  cycle behind code), and 5 (release notes draft scope) still
  need resolution before tag cut

Co-authored-by: Claude <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.

verify-production-output/helper.py — Section B Tier-2 expectations stale (expects pre-4g state)

2 participants