Skip to content

docs(workflow): add SEC Filing Roadmap section#50

Merged
dackclup merged 1 commit into
mainfrom
docs/sec-filing-roadmap
May 14, 2026
Merged

docs(workflow): add SEC Filing Roadmap section#50
dackclup merged 1 commit into
mainfrom
docs/sec-filing-roadmap

Conversation

@dackclup
Copy link
Copy Markdown
Owner

Summary

Adds a SEC Filing Roadmap section to WORKFLOW.md mapping each phase to the SEC forms it uses (10-K, 10-Q, 8-K, Form 4, DEF 14A, 13F, 20-F, etc.).

Captures the answer from today's audit session:

  • v1.0 (Phase 2-3): 10-K + 10-Q only
  • Phase 4: + 8-K Items 4.01 / 4.02 (Tier-2 defenses re-enabled)
  • Phase 5: + Form 4 (insider) + 13F (smart-money) + DEF 14A (governance) + 8-K other (sentiment)
  • Phase 6: + earnings call transcripts (separate API)
  • Phase 8: + 20-F + 6-K (universe expansion to ADRs / foreign private issuers)

Out of scope: S-1/S-3 (IPO docs), N-CSR/N-Q (mutual fund reports).

Why now

User asked "ระบบเราจะมี [20-F / DEF 14A / Form 4 / 13F] ไหม" during the audit cycle. Answer was clear (none in v1.0; Phase 5+ for most; Phase 8 for foreign), but without it in the canonical workflow doc the next contributor could easily write a Phase 5 PR that pulls Form 4 data without realizing the ingest layer needs major work (different XBRL taxonomy + filing cadence).

The roadmap also explicitly lists what's NOT in scope so spec drift doesn't drag in S-1 / N-CSR by accident.

Files changed

File Change
WORKFLOW.md +44 lines — new "SEC Filing Roadmap" section between "Phase Overview" and "Defense Roadmap"

Verification

  • Markdown structure intact (new ## heading inside the existing roadmap area)
  • Each form's intro phase + current status matches actual code (10-K + 10-Q ingest active in Phase 2 / 3, 8-K deferred via _EIGHT_K_DEFENSES_ENABLED = False in compute/scoring/tier2.py:73)
  • Form 4 + 13F + DEF 14A cited via academic papers already in docs/RESEARCH_FINDINGS.md bibliography (Cohen-Malloy-Pomorski 2012)

No code changes. No schema changes. Pure docs.

https://claude.ai/code/session_015649aRyi2bvciQYZVNACd2


Generated by Claude Code

Maps each phase to which SEC forms (10-K / 10-Q / 8-K / Form 4 / DEF
14A / 13F / 20-F / etc.) feed the ranking layer. Answers the question
"what filings does the system read?" with a single canonical table.

Phase coverage:
- Phase 2-3 (v1.0):  10-K + 10-Q only (+ 8-K Items 4.01/4.02 deferred)
- Phase 4:           same forms, 8-K Tier-2 defenses re-enabled
- Phase 5:           +Form 4 (insider signal — Cohen-Malloy-Pomorski 2012)
                     +13F-HR (smart-money / sentiment pillar)
                     +DEF 14A (governance pillar)
                     +8-K other items (event-driven sentiment)
- Phase 6:           +earnings call transcripts (external API)
- Phase 7:           no new SEC forms
- Phase 8:           +20-F + 6-K (universe expansion to ADRs / foreign
                     private issuers)

Out of scope: S-1 / S-3 (IPO docs) and N-CSR / N-Q (mutual fund reports).

Documents the WHY too: without this map, a Phase 5 PR could naively
pull Form 4 without realizing the ingest layer needs significant work
(different XBRL taxonomy + filing cadence). The roadmap also clarifies
what's intentionally NOT in scope so spec drift doesn't accidentally
drag them in.

https://claude.ai/code/session_015649aRyi2bvciQYZVNACd2
@vercel
Copy link
Copy Markdown

vercel Bot commented May 14, 2026

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

Project Deployment Actions Updated (UTC)
quantrank Ready Ready Preview, Comment May 14, 2026 2:56am

@dackclup dackclup marked this pull request as ready for review May 14, 2026 03:19
@dackclup dackclup merged commit 66ba9f1 into main May 14, 2026
4 checks passed
@dackclup dackclup deleted the docs/sec-filing-roadmap branch May 14, 2026 03:19
dackclup added a commit that referenced this pull request May 14, 2026
Lockstep update of the three tracking docs after PR 3e.4 (v1.0 tag)
landed via the phase-status-bump skill flow.

PHASE_STATUS.md:
- Phase 3 row → ✅ DONE 2026-05-14
- "Current focus" → v1.0.0 SHIPPED, Phase 4a (workflow cache
  improvements) next per v1-to-v1-1-migration/PLAN.md
- Phase 3e placeholder (lines 122-128) replaced with completion block
  covering 9 PRs: #43 Beneish, #45 Dechow, #46 Honest Limitations,
  #47-49+51+56 audit-#6 deep-clean (cache key v2 bump), #50 SEC Filing
  Roadmap, #52/#54 UX trio planning, #55 workflow rebase-then-push,
  #56 P1 audit backfill (migration + schema-versioning + backtest-infra)
- Defense scorecard updated to v1.0.0 final: 4 active vetoes (1 deferred
  behind feature flag) + 5 guards + Tier-2 going_concern + Tier-3
  Beneish/Dechow + 8 valuation warnings
- Phase 3d production stats: filled in DRAFT placeholders with final
  numbers (498/502 fair-price, 100% Tier-2 coverage, 646 tests)
- Phase 3e production stats: new section with v1.0 verification
  (commit b5bc65f, run #32, median PE 23.2, 3 data-quality edge cases,
  31.9%/31.3% Beneish/Dechow coverage)
- Phase 3d + 3e acceptance checklists: all items [x]

SKILL.md Table 2 (schema version history):
- Stub row for `1.0.0` (forward-looking) replaced with actual v1.0
  ship row: `0.6.0-phase3d @ tag v1.0.0` (data version stays at
  0.6.0-phase3d since PR 3e added only additive optional fields —
  beneish_m_score, dechow_f_score)
- Row captures: 3 Tier-3 layer additions + Honest Limitations + audit
  #6 deep clean + workflow CI hardening + Phase 4 planning + production
  verification snapshot
- The 4th veto `non_reliance_filing` note clarified: implemented but
  deferred behind `_EIGHT_K_DEFENSES_ENABLED = False` per PR 3e
  shipping state; re-enable in Phase 4

WORKFLOW.md "Phase 3 / v1.0 Acceptance Criteria":
- All 19 items flipped from [ ] to [x]
- New "Audit-#6 deep-clean" subsection (added mid-3e) tracks the
  8 secondary-layer items completed during the audit cycle
- "Ship" subsection records v1.0.0 tag + GitHub Release published +
  commit b5bc65f / run #32 production verification

Invariants verified before commit:
- Phase number matches across all three files
- Schema version `0.6.0-phase3d` consistent with
  frontend/public/data/metadata.json::version
- Production-verified commit SHA `b5bc65f3` referenced consistently
- Active veto count: 4 (with 1 deferred behind feature flag) — matches
  defense-scorecard against latest production output
- No deferred item without a matching PLAN.md in
  .claude/skills/phase-4/<name>/ or filed issue

Per the phase-status-bump skill anti-patterns: no schema version bump
in code (compute/output/schemas.py or pyproject.toml) — those happen
with the next scoring/shape change PR. This commit only touches the
docs that reference the version.

Next deliverable: Phase 4a — workflow cache improvements (10-K text +
fundamentals_history + prices + universe). Pre-planned in
.claude/skills/phase-4/v1-to-v1-1-migration/PLAN.md §"Sequencing".

https://claude.ai/code/session_015649aRyi2bvciQYZVNACd2

Co-authored-by: Claude <noreply@anthropic.com>
dackclup added a commit that referenced this pull request May 17, 2026
#99)

PHASE_STATUS.md: row 4.5 → "4.5a + 4.5b + 4.5c + 4.5d waves complete"
  with defense layer 9 → 16. 4.5d ✅ DONE block added (production
  fire rates accruals_momentum_high 10.0% / loss_avoidance_pattern
  0.0% with the universe-mismatch caveat). Phase 4.5 timeline summary
  table 4.5a-d rows flipped ⚪ → ✅.

SKILL.md: Rule 16 active-veto count 5 → 7 (added
  beneish_manipulation_veto + dechow_manipulation_veto). Schema
  versions table appended with the 4.5a-d wave row noting zero
  shape delta (all 9 new flag identifiers are list[str] additions)
  + reason taxonomy 24 → 34 stable identifiers.

WORKFLOW.md: 4.5d task list [ ] → [x] with PR #97, production
  verification snapshot, design substitution note
  (m_score_deteriorating → accruals_momentum_high).

CLAUDE.md: Phase status section trimmed ~65 → ~12 lines pointing at
  PHASE_STATUS.md as the canonical tracker. Layout table veto count
  5 → 7 and test count 526 → 831 offline. Closed-issue #7 (Sloan
  Financials over-fire) removed from Gotchas; loss_avoidance_pattern
  universe mismatch added.

Production verified: commit c3b29af / run #50 (workflow 25982432928)
/ 502 stocks / 831 offline tests / warm-cache 6m24s. Defense layer
14 → 16 (annotates +2 from 4.5d). Active vetoes unchanged at 7.

Phase 4.5 follow-up filed at
/tmp/issue_drafts/issue_loss_avoidance_universe_mismatch.md
(loss_avoidance_pattern zero-fire on S&P 500; Burgstahler-Dichev
1997 cohort thresholds too tight for large-cap universe).

https://claude.ai/code/session_015649aRyi2bvciQYZVNACd2

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.

2 participants