Skip to content

8-week Plan Reconcile — Marko's board vs spec (2026-09-03)

For Marko — action items in your lane (Linear + frontmatter reconcile)

Cross-check of the 8-week-plan Linear label against this spec repo, 2026-09-03. Read-only on Linear — no issues were created or edited. The two genuine content gaps are already drafted in PR #20; everything below is for your reconcile lane (frontmatter PINs, cycles, and the scope/CSV scripts).

What changed on the board

The 8-week-plan label is now a curated 54 issues = 13 module epics (roadmap-epic) + 37 child tasks + 4 QA sweeps, grouped by Linear Project.

  • Window moved C13–C16 → C14–C17. The label reads "Locked C14–C17 8-week program" and the QA sweeps are PIN-1117/1118/1119/1120 = C14/C15/C16/C17.
  • You consolidated loose tickets into the 13 epics and cut a new PIN-1063–1082 / PIN-1023–1029 series. Most of the reconcile below is just wiring those new PINs onto spec pages that already exist.

Every one of the 13 modules maps to a spec module — no orphan modules. Gaps are all at the task level.


1. Frontmatter wire-ups (7) — page exists, needs your new PIN

These 7 board tasks had no spec page citing their PIN, but the feature is already spec'd under an older/!different PIN (or none). Add your new PIN to each page's linear: frontmatter (your lane — I did not touch these).

Spec page (content/features/…) Current linear: Add Board ticket
bids/proposal-deterministic-by-scope-pdf.md PIN-134, PIN-838, PIN-853 PIN-1073 Proposal — deterministic by-scope PDF
progress-drawings/general-pdf-viewer-one-bluebeam-style-viewer-tha.md PIN-973, PIN-348 PIN-1074 PDF viewer — markup toolkit (2/2)
tasks/tasks-kanban-board.md PIN-29 PIN-1075 Tasks — Kanban board ✅ (the ticket you split out after the prior flag)
bids/award-to-project.md PIN-274 PIN-1078 Award → Project — workflow UX + AI polish
submittals-rfis/project-detail-project-controls-submittals-email.md (none) PIN-1080 Submittals — email templates
submittals-rfis/project-detail-project-controls-rfis-ai-draft-pd.md PIN-52, PIN-301, PIN-459 PIN-1081 RFIs — Project Controls hardening
change-orders/project-detail-change-orders-scope-change-rev-co.md PIN-53, PIN-298 PIN-1082 Change Orders — Project Controls hardening

2. The 2 genuine content gaps — drafted in PR #20 (my lane)

Net-new from Conor's 2026-09-03 list, no prior PIN, no spec page. PR #20 adds both (scope + acceptance criteria distilled read-only from your tickets):

  • PIN-1076 Non-PDF / SharePoint-link document open → content/features/documents/
  • PIN-1077 Smart Import — manual drawing upload / import → content/features/smart-import/

Please sanity-check the frontmatter (cycle: C15, estimate: M) against your reconcile.

3. Window + script re-baseline (your tooling)

The repo's scope/schedule automation is still keyed to the old window and the old hardcoded scope, so it now over-counts vs your curated board:

  • scripts/apply_status_cycle.pyPOINT_TO_CYCLE and the C12 current-cycle logic assume C12–C16. Shift to C14–C17.
  • scripts/gen_feature_lock_csv.pyIN_8WEEK_RULES flags 84 spec pages in-scope; your board is a tighter ~40 features. Recommend deriving "in-scope" from 8-week-plan label membership (the 54-PIN set) instead of the regex.
  • scripts/gantt.py + scripts/combogantt.pyCYCLE_DATES / captions extend only to C16; add C17.

4. Scope reconcile — repo says in-scope, nothing on your board

35 in-scope pages already carry ≥1 board PIN. The rest (below) are not on your board. Most look like deliberate tightening — listed so you can confirm, after which they fall off naturally once IN_8WEEK_RULES is re-based to the label.

28 pages to confirm-defer (has old PIN, none on board)
Module Page Cites
Bids bid-detail-estimate-alternates PIN-249
Bids bid-detail-estimate-award-sheet PIN-197, PIN-203
Bids bid-detail-estimate-equipment-schedule PIN-319
Bids bid-detail-estimate-estimating-sheet PIN-47, PIN-197
Bids bid-detail-estimate-takeoff-summary PIN-197, PIN-416
Bids bid-detail-leveling-sub-bid-comparison PIN-198, PIN-203, PIN-260
Bids bid-detail-vendors PIN-92
Cara cara-copilot-hub-fab-shipped-mvp PIN-289, PIN-490, PIN-511
Cara real-rag-wire-pgvector-retrieve-on-write-index PIN-315, PIN-316
Documents project-detail-documents-p1-p8-folders PIN-297, PIN-648, PIN-651
Estimating estimate-popout-live-collaborative-presence PIN-279
Estimating estimate-revision-selector-r2-estimate-versioning PIN-244, PIN-245, PIN-246
Estimating live-presence-concurrent-editing PIN-279
Estimating mobile-estimating-view PIN-1024
Estimating settings-template-panel-apply-estimate-template PIN-48, PIN-102
Progress Drawings project-detail-drawings-viewer-cad-dwg-layers PIN-148, PIN-212
Purchase Orders project-detail-purchase-orders-tab-approval-pdf PIN-276, PIN-363, PIN-430
Runtime & Ops import-projects-estimates-from-sharepoint PIN-501, PIN-506, PIN-508
Settings & Admin navigation-ia-route-cleanup PIN-78, PIN-81
Smart Import buildingconnected-sync-bid-board-opportunities PIN-152, PIN-492
Smart Import mobile-smart-import-capture-screen PIN-1028
Smart Import procore-integration PIN-152, PIN-156
Smart Import training-tab-second-full-tab PIN-682, PIN-684
Submittals & RFIs project-detail-project-controls-submittals-approval PIN-51, PIN-300
Takeoff Engine drawing-intelligence-ml-auto-takeoff-assembly PIN-232, PIN-307, PIN-408
Takeoff Engine takeoff-section-types-takeoff-engine-settings PIN-248
Vendors vendor-external-portal PIN-108, PIN-520
Vendors vendors-directory PIN-16, PIN-120

16 ticketless in-scope pages — create tickets? (Marko's call)

All 16 are status: deferred, empty linear:, and carry a "No Linear issue" note. None appears in a board epic's feature-parent list — I read the pages and the relevant epics (PIN-1069 PO, PIN-694 Takeoff, PIN-1063 Estimate&Proposal, PIN-691 Field&Controls, PIN-1066/1067/1071). Recommendation: create none for C14–C17. They're portfolio/mobile/secondary surfaces or scope beyond the relevant Conor point. The one worth an explicit Conor yes/no is Bid Day Mode (live bid-day estimating — no ticket and no epic home). I created nothing.

Module Page Est Prio Recommendation
Purchase Orders Three-way match (P·D·I legs) L Low Defer — needs AP-invoice ingestion + receiving; beyond Conor #11 (PO epic PIN-1069 = lifecycle+budget+log via PIN-137)
Purchase Orders Buyout pipeline (project-scoped) table M Low Defer — precon procurement-planning; not in PO epic
Takeoff Engine Bid Day Mode (countdown + verbal quote entry) M Med Confirm w/ Conor — real live bid-day estimating; no ticket, no epic home
Takeoff Engine Bid Summary page (financial rollup, risk register, markup) L Med Defer — large net-new; beyond Conor #8; PIN-440's dashboard ≠ this
Submittals & RFIs 'Ball-in-court · all jobs' cross-project table S Med Defer — portfolio view (epic ships email/RFI/CO hardening)
Submittals & RFIs 'Days with current holder' aging histogram S Med Defer — portfolio view
Submittals & RFIs 'Held longest · chase drafted' portfolio panel S Med Defer — portfolio view
Submittals & RFIs Mobile 'Ball in court' screen M Low Defer — mobile portfolio view
Submittals & RFIs Portfolio/master Submittals & RFIs view M Low Defer — portfolio view
Progress Drawings Cross-job Jobs table S Med Defer — portfolio view (epic ships PIN-720 markup only)
Progress Drawings PM-scoped landing variant (P-57) S Med Defer — landing variant
Progress Drawings Portfolio / module landing screen M Med Defer — landing screen
Progress Drawings 'Export rollup →' action (design 'not wired') S Low Defer — unwired action
Cara Mobile workspace shell (bottom tab bar) L Med Defer — Capacitor mobile track (separate)
Projects The built mobile/tablet shell (five-tab) L Defer — Capacitor mobile track (separate)
Documents Cross-project register / search (portfolio master) 2w(M) Low Defer — portfolio master; already flagged spec-only

Marko — create tickets for any of these? Default = none for C14–C17; the only one I'd flag for Conor is Bid Day Mode. Still your call — I made no Linear changes.

5. QA label note

The 4 QA sweeps (PIN-1117–1120, one per cycle C14–C17) carry 8-week-plan even though the label description says it "excludes bug-fix/qa sustaining work." They're integration/regression sweeps, not sustaining bug-fix — assumed intentional; flag if not.


Generated from the 8-week-plan label pull on 2026-09-03. Companion: PR #20 (content gaps). Source-of-truth model unchanged: spec = what the features are, Linear = task detail; linear: frontmatter points at the truest ticket(s).