chore(docs): end-of-day 2026-05-28 .md sweep — fix 8 MUST-FIX + 6 SHOULD-FIX cross-doc drifts#301
Merged
Merged
Conversation
…ULD-FIX cross-doc drifts Comprehensive .md housekeeping closing today's 11-PR session day. Output of docs-reviewer (sonnet) full Tier 1 + Tier 2 audit on main (post-PR-#299) — verdict NEEDS-CROSS-REF-FIX with 14 prioritized findings; this PR applies all 8 MUST-FIX + 6 SHOULD-FIX. 3 NICE-TO-FIX deferred to follow-up. Scope (7 files, doc-only): - SKILL.md schema-version history table (line 240) — prepend 2 new rows: 0.10.9-phase4.6 (PR #297, 4 *_wall_clock_seconds fields + 195m timeout + cache canary, empirically validated cron Run #71) + 0.10.10-phase4.6 (PR #300 in flight — Issue #67 follow-up per- sector delta). Closes the canonical-history gap where PR #297 + PR #300 were absent. - PHASE_STATUS.md §Current state — schema row 0.10.8 → 0.10.9 + PR #300 in-flight note; Post-tag production patches row extended with PR #295/#296/#297/#298/#299 SHAs + one-liners; Production run pointer 0ad1d57 cron #69 → 368dccd cron Run #71 with the PR #297 wall-clock empirical numbers + Issue #288 cache-replay smoking gun (multi_class_per_class_attempt_count=0 + fundamentals_latency_p50_seconds=0.0). Recently merged block extended 6 → 11 PRs. Issue closure status updated. Next deliverables refreshed: Issue #67 flip removed (PR #294 already executed); item 2 now = Issue #287 PR B FORM4 revert; PR #300 per-sector delta added as item 3. Open issues list refreshed (#288 + #289 marked closed; #287 PR A vs PR B split). - CLAUDE.md §Phase status Recently merged block — extended 6 → 11 PRs with full SHA + one-liner per PR. New "In flight" sub-section added for PR #300. - AGENTS.md §Phase + version state — Production-verified run cron #69 (233117a, 13m 16s) → cron Run #71 (368dccd, 14m 32s, 2026-05-28 08:44 UTC, schema 0.10.7 → 0.10.9-phase4.6); 4 new wall-clock field values cited; Issue #288 cache-replay smoking gun captured; closed-issue note for #288 + #289 + #287 PR A. - CONTEXT.md §Live snapshot — schema 0.10.8 → 0.10.9 + PR #300 in-flight note; new "Post-tag patches" row listing PRs #292-#299 + PR #300 in flight; cron status cron #69 2026-05-27 → Run #71 2026-05-28; Sector-CoE row updated with empirical 132 → 109; §Roadmap Stage 0 description refreshed. - WORKFLOW.md §Agentic 6-Phase Cadence session-start protocol — inline schema 0.10.7-phase4.6 replaced with current 0.10.9-phase4.6 + pointer guidance to PHASE_STATUS.md §Current state as the canonical bump-per-schema-PR target. Closes the recurring inline- schema drift pattern. - PHASE_STATUS_INFLIGHT.md — this PR's in-flight entry appended per PR #237 side-file convention. docs-reviewer lockstep cross-check after this PR: - SCHEMA_VERSION: ALIGNED across all 6 canonical docs at 0.10.9-phase4.6 with PR #300 in-flight note where applicable - Defense layer 33 declared: ALIGNED (was already) - USE_SECTOR_COE = True post-PR #294: ALIGNED (was stale in AGENTS.md issue #67 framing + PHASE_STATUS.md Next deliverables; both fixed) - Subagent count 18: ALIGNED (was already) - Skill count 45: ALIGNED (was already) - Latest cron Run #71 368dccd: ALIGNED (was stale in AGENTS.md + PHASE_STATUS.md + CONTEXT.md; all fixed) - Issue #288 + #289 closure status: ALIGNED (was stale as open in AGENTS.md + PHASE_STATUS.md; both fixed) 3 NICE-TO-FIX deferred: - README.md Honest Limitations does not reference Phase 4.6 honest re-validation harness (PR #283). Coverage gap, not break. - WORKFLOW.md Phase 4.5 row cites v1.2.0; technically closed at v1.3.0-phase4.5e. Historical-context only. - METHODOLOGY.md USE_SECTOR_COE framing needs verification before edit. Hard constraints honored: - No code / scoring / schema / valuation / Rule 16 / Top-5 invariant touched - No new defense flag · No new dep · No new env-var - Markdown-only diff (no JSON / YAML / Python / TS change) - Schema version UNCHANGED on main at 0.10.9-phase4.6 (PR #300 will bump 0.10.10 on its merge) - AGENTS.md substance lockstep with CLAUDE.md per the established delegation pattern Verification: - ruff check . PASS (no Python touched) - python -m compute.output.schema_check PASS (no schema touched) - pytest tests/ -m "not network" N/A (no test surface) - Cross-reference grep — all 7 anchor strings consistent across all 6 docs after fix https://claude.ai/code/session_01AGU8d6pm4u2fQQ5cebg9qa
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dackclup
added a commit
that referenced
this pull request
May 29, 2026
…al footgun #1) (#303) * feat(scoring): Phase 4.5e PR 6 — Form-4 10b5-1 negation guard (residual footgun #1) Closes the residual of footgun #1 from `compute/scoring/form4_signals.py` module docstring + the PR 4-eq Mode B verdict (2026-05-23, pre-approved "harden detect_10b5_1_plan with a negation guard against FP matches on phrases like '10b5-1 plan terminated'"). PR 6 implements the engineering of the approved mitigation. **Architecture** — post-detector wrapper: - `compute/scoring/form4_insider.py` gains `_NEGATION_PATTERNS` (11 tokens) + `_NEGATION_REGEX` (compiled bidirectional regex; case-insensitive; accepts both `10b5-1` and `10b-5-1` spellings; ±5 word-token window) + `_has_negation()` helper + thread-safe module-level counter - `_detect_10b5_1_on_transaction` modified: detector returns True → check `_has_negation(resolved_text)` → on match return False and bump the counter; detector returns False or None → pass through unchanged. Guard never fabricates a positive signal (only downgrades True → False). **Schema** `0.10.10 → 0.10.11-phase4.6` (PATCH — additive Metadata field). Triple touched: Pydantic + TypeScript + snapshot regenerated; verified clean via `python -m compute.output.schema_check`. **Rule 18 observability**: new `Metadata.form4_negation_guard_downgrade_count: int | None`. Counter is module-level + thread-safe (`threading.Lock` around an int) for the `EDGAR_MAX_WORKERS=8` parallel Form-4 fetch loop. `compute/main.py` resets before the `ThreadPoolExecutor` block and reads on the success path. `None` semantics mirrors `form4_wall_clock_seconds`: None when `FORM4_FETCH_SKIP=1` OR outer try/except fired. **Methodology** — pre-approved (no fresh consultation needed). Expected delta firing-rate per Cohen 2008 §III + Jagolinzer 2009 §3.2: `insider_sell_cluster` +5% to +10% relative on a universe-baseline cron (absolute << 1%; most 10b5-1 disclosures are affirmative). Bias direction reversed: was conservative (over-excluded legit opportunistic trades); now closer to ground truth (terminated + former plans no longer fire). **Tests** — 33 new tests in `tests/test_scoring/test_form4_negation_guard.py`: 13 pattern coverage (parametrized) + 5 negative paths + 2 ±5-token window boundary + 2 spelling variants + 5 `_detect_10b5_1_on_transaction` integration with mocked footnotes_dict + 2 thread-safety (incl. 100 concurrent bumps / 8 workers) + 2 Hypothesis properties (idempotence + monotonicity) + 2 manifest pins. Suite 1366 → 1399; zero regressions; ruff clean. `tests/test_config.py` schema pin bumped with PR 6 rationale. **Defense layer unchanged** at 33 declared boolean flags (PR hardens an existing input filter; no new flag). Cluster + C-suite weights UNCHANGED (5.0 / 3.0; promotion to 7.0 still gated on Q3 2026-08-19 audit per PR 4-eq verdict). **Closes**: residual of footgun #1 (Form-4 10b5-1 contamination) from `compute/scoring/form4_signals.py` module docstring. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(scoring): PR 6 review WARN-2 + WARN-3 cleanup quantrank-reviewer (opus) flagged 3 non-blocking WARNs on the initial PR 6 commit. 2 addressed inline; 1 deferred to follow-up. - WARN-2 FIXED: `_NEGATION_REGEX` BEFORE branch gains an inline NOTE block explaining `no` is intentionally BEFORE-only (post- mention "10b5-1 plan, no shares sold" reads as affirmative disclosure + non-negation use of `no` → FP risk too high). AFTER branch carries a cross-reference comment so the asymmetry is self-documenting at the regex. - WARN-3 FIXED: new `test_M3_negation_patterns_each_appear_in_compiled_regex` drift-detector — every token in `_NEGATION_PATTERNS` must appear somewhere in `_NEGATION_REGEX.pattern` source string. Catches drift in both directions (add to frozenset without updating regex; remove from regex without updating frozenset). Carve-outs handle the `cancelled` ↔ `canceled` collapse to `cancell?ed` and the multi-word `not in effect` `\s+` split. Tests 33 → 34; full suite 1399 → 1400. - WARN-1 DEFERRED in `PHASE_STATUS_INFLIGHT.md` PR #303 entry: `_NEGATION_REGEX` anchor matches only 2 of upstream `detect_10b5_1_plan`'s 6 substrings. Bias direction remains safe (over-includes legit trades in cohort, never under-excludes). Fix path noted; gated on cron Run #72+ empirical data showing whether the gap is material. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * docs(phase-status): bump for PR #303 — schema 0.10.10 → 0.10.11 + Recently merged refresh (PR #300/#301/#302) * docs(workflow): bump session-start pointer to schema 0.10.10 on main + PR #303 in-flight (Phase 4.5e PR 6 negation guard 0.10.11) * test(form4): PR 6 cross-reference smoke tests in test_form4_insider.py — quality-gate Section D * ci: re-trigger simulate on 0a1fc86 (prior run cancelled by concurrency supersede) --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive
.mdhousekeeping closing today's 11-PR session day. Output ofdocs-reviewer(sonnet) full Tier 1 + Tier 2 audit onmain(post-PR-#299) — verdict NEEDS-CROSS-REF-FIX with 14 prioritized findings; this PR applies all 8 MUST-FIX + 6 SHOULD-FIX. 3 NICE-TO-FIX deferred to follow-up.Drifts fixed across 6 canonical docs
SKILL.md0.10.8-phase4.6(PR #292). Missing rows for PR #297 + PR #300.0.10.10-phase4.6(PR #300 in flight) +0.10.9-phase4.6(PR #297, empirically validated cron Run #71)PHASE_STATUS.md0.10.8; production run pointer0ad1d574cron #69 (stale); post-tag patches missing #295-#299; Recently merged ends at PR #294 (6 PRs); Next deliverables item 2 lists Issue #67 flip as pending (PR #294 already executed)0.10.9+ PR #300 in-flight note; production pointer368dccd9cron Run #71 with PR #297 wall-clock empirical numbers + Issue #288 cache-replay smoking gun; post-tag row extended with 5 new PRs; Recently merged extended 6 → 11; Next deliverables refreshed (item 2 = #287 PR B; item 3 = #300 per-sector delta); Open issues list refreshed (#288 + #289 marked closed)CLAUDE.mdAGENTS.md233117ac(stale); schema reference0.10.7; Known follow-ups still lists #288 + #289 as open368dccd914m 32s with 4 wall-clock field values + Issue #288 smoking gun; schema0.10.9-phase4.6; closed-issue note for #288 + #289 + #287 PR ACONTEXT.md0.10.8; cron status cron #69 2026-05-27; §Roadmap Stage 0 "Cron #70 confirmation + Issue #287 closure"0.10.9+ PR #300 in-flight; new "Post-tag patches" row; cron Run #71 2026-05-28; Sector-CoE row with empirical 132 → 109; Stage 0 = Issue #287 PR B FORM4 revert + PR #300 merge confirmationWORKFLOW.md0.10.7-phase4.60.10.9-phase4.6+ pointer guidance to PHASE_STATUS.md §Current state (closes the recurring inline-schema drift pattern)PHASE_STATUS_INFLIGHT.mdLockstep cross-check after this PR
SCHEMA_VERSION33 declaredUSE_SECTOR_COE = Truepost-PR #2941845368dccd93 NICE-TO-FIX deferred to follow-up PR
README.mdHonest Limitations section does not yet reference the Phase 4.6 honest re-validation harness (PR chore(release): v1.4.0-phase4.6 — Honest re-validation harness #283 Hou-Xue-Zhang 2020 survivorship-bias fix + McLean-Pontiff 2016 32% decay banner). Coverage gap, not a cross-reference break.WORKFLOW.mdPhase 4.5 row citesv1.2.0; technically closed atv1.3.0-phase4.5e. Historical-context only.docs/METHODOLOGY.mdUSE_SECTOR_COEframing needs verification before edit.Hard constraints honored
mainat0.10.9-phase4.6(PR feat(scoring): Issue #67 follow-up — per-sectorvalue_trap_riskdelta instrumentation #300 will bump 0.10.10 on its merge)Test plan
ruff check .— All checks passed (no Python touched)python -m compute.output.schema_check— in sync (no schema touched)pytest tests/ -m "not network"— N/A (no test surface)Generated by Claude Code