GTM Plan — cv-cad v1.0 ship + cv-web round-trip + tutorial-video library¶
Go-to-Market plan, generated 2026-05-09. Supersedes the prior WC-bug-class plan (✅ shipped).
Submission target updated 2026-05-18: NLT 2026-07-09 (pulled in from prior Jul 28 / Aug 3 inconsistency per user direction). The 12-week schedule below assumes the prior Jul 28 submission window and requires rescope — 3 sprints of work (Sprints 28–30: License/trial, VLX compile, .bundle pkg, Tier 2 ↔ cv-web cert, 76-test gate, listing materials, bug bash) must be re-allocated into Sprints 22–27 or reduced in scope. User-verified sprint math pending.
Living document for stakeholder communication. The repo copy at
docs/source/modernization-2026/47-gtm-plan.mdis canonical — stakeholders read this; every plan edit lands here first.
Revised post 2026-05-09 user direction:
ADN membership already in place; ADN handles code signing + installer as part of submission review.
Site drawings, GUI validation automation, and non-rectangular polygons are all v1.0 must-ship.
Alpha cannot run on VM (license constraint) — needs local AutoCAD 2027 laptop.
Three parallel tracks: (A) build → ship, (B) weekly project showcase (panel-book prints Sprint 19–25, cv-web publishing Sprint 26–30), (C) tutorial-video library (now through October, easy → difficult, near-full coverage of cv-cad then cv-web).
Bug tracking: GitHub Issues (primary); Jira for broader accessibility where needed.
Cadence (rebased 2026-05-11)¶
Sprints run Wed→Tue. A bound panel-book PDF is delivered every Wednesday morning at sprint kickoff, printing the previous sprint’s project rotation.
Sprint dates: Sprint N = (May 6 + 7·(N−19)) → (May 12 + 7·(N−19)) for N ∈ {19..43}. Sprint 19 closed 2026-05-13; Sprint 20 = May 13–20 (current — close gated on TECT project-book print, CV-159). Sprint 30 = Jul 22–28 (ADN submission); Sprint 43 = Oct 21–27 (end-of-October closeout + complete tutorial library). Sprint numbering is continuous across the project lifetime — Sprints 1–18 ran before this plan, so the GTM-plan window is 25 sprints numbered 19 through 43. Earlier drafts of this doc used relative labels Wk 1..Wk 12 (May → Aug only); those were rewritten to running sprint numbers and the window was extended through October per user direction 2026-05-11.
Sprint-close gate (policy, 2026-05-20): A sprint closes only after its scheduled project book is printed and bound. The project book is the archive of that sprint’s demo — without it, the sprint demo has no tangible deliverable. The per-sprint book assignment lives in §“Per-sprint story plan” (each sprint’s
*-S7or equivalent project-book story).
The plan has two phases:
Sprints 19–30 (May 6 → NLT 2026-07-09 submission target): ship. Bug fixes, cv-menu, panel books, license, VLX compile, ADN submission. (Original window May 6 → Jul 28; submission target compressed 2026-05-18 — rescope of Sprints 28–30 pending.)
Sprints 31–43 (Jul 29 → Oct 27): launch + library. ADN review response, public launch, customer onboarding, production bug-fix sprints, and completion of the tutorial-video library — target 40 videos shipped by end of October.
Story IDs of the form CV-S<N>-S<n> (where N = 19..43) are plan-level labels. Cross-link from commits using the prefix [CV-S<N>-S<n>].
Context¶
cv-cad is days/weeks of disciplined work away from a shippable AutoLISP .bundle with three constraints the prior plans didn’t carry:
Distribution path: AutoLISP
.bundlefor the Autodesk App Store (Doc 07, frozen Mar 23, 2026). User has ADN membership; ADN handles code signing + installer wrapping as part of review (correcting earlier draft). Our deliverable is the unsigned.bundlepackage + listing materials + license-mechanism source.Licensing + feature gating + free demo: monetization in Doc 07 was “spec only / next build” — must be brought forward to v1.0 to be store-listable.
Tier 2 ↔ cv-web round-trip: Phase D Tier 2 JSON (cvpanel-shaped) is the agreed transport. Must be certified end-to-end before ship.
The hard milestone¶
Target: ship-to-Autodesk submission NLT 2026-07-09 (compressed 2026-05-18 from prior end-of-July target). ADN review window 30–60 days → public store availability August–September 2026. Timing reflects user pull-in direction; rescope of Sprints 28–30 pending.
Schedule (May 6 → NLT 2026-07-09 submission) — RESCOPE PENDING¶
User affirmed 2026-05-09: all open bug fixes complete by June 1 (end of Sprint 21). The original 12-week plan was sized against a Jul 28 submission; submission target compressed to NLT 2026-07-09 per 2026-05-18 direction. The §12-week schedule table below is preserved as the previous plan of record; rescope of Sprints 28–30 work into the compressed window is pending user-verified sprint math.
Submission to ADN: NLT 2026-07-09. ADN review window 30–60 days → public store availability Aug 8 – Sep 7, 2026.
Weekly panel-book prints (1 → 4 ramp, May 12 → Jul 1) provide continuous shipping signal — user can hold each printed book and see progress.
Speed-up levers (in priority order if we still need to compress to 12 weeks)¶
Half-automate Tier 3 instead of full automation — manual screenshot capture + automated pixel/OCR diff. Saves ~0.5 week.
Site drawings as test-track-only — build the parity harness, but treat first-pass bug fixes as v1.1. Saves ~1 week.
Non-rectangular polygons in restricted form — support a single tab/notch geometry (top-right corner only, like AABA003). General polygon → v1.1. Saves ~0.5–1 week.
Add a contractor for licensing infra — if license/trial threatens Sprint 29 deadline, bring in someone who’s done Autodesk SSO before. ~$5–8K, 1–2 wks of senior LISP/registry dev.
Defer the 7 hidden-drift panels (CSB032, CSB024, 4 LFC, IndusLot018) — log as known limitations; tier-2 catches them so future regressions surface. Saves ~3–5 days.
Drop catalog architecture — text files stay in v1.0. Already in the plan as “v1.1.” Don’t backslide on this.
Drop Phase E (cv-gui-draw editor mode) — Already deferred to v2.0. Don’t backslide.
Remaining work — prioritized inventory (as of 2026-05-09)¶
🟥 BLOCKERS (must-fix before submission)¶
Item |
Source |
Why blocker |
|---|---|---|
Bug 104 — Project Details not persisted to XRecord |
doc 32 |
Data lost on AutoCAD restart; breaks core workflow |
Bug 140 — PP/BP block-name truncation + 33 hardware 3DSOLIDs lost per panel |
Tier 2 sweep proved corpus-wide (100% of 16 of 22 projects) |
Material-list breakage; hardware geometry loss |
Bug 156 — panatt section-active predicates use position-specific heuristics; break on schema-variant panels |
doc 32 |
Universal failure mode; affects mppl/mprb/mplb hot zones |
Bug 158 — Non-rectangular polygon panel support |
doc 32 |
v1.0 MUST-SHIP per user 2026-05-09 |
Bug 31 — New user profile missing AutoCAD configuration |
doc 32 |
Multi-machine deployments fail without manual setup |
Bug 33/35 — site drawing open crash ( |
doc 32 |
Site-drawings are v1.0 must-ship; this blocks the track |
Bug 117/118/119/120 — GUI routing regressions |
doc 32 |
Customer-visible workflow defects |
DFMEA-066 — WC silent-drop on missing |
doc 31 |
Panel ships with missing/wrong embeds; SAFETY-relevant |
Site-drawing parity track |
NEW |
v1.0 must-ship; harness + first sweep + bug fixes |
Tier 3 GUI validation automation |
NEW |
v1.0 must-ship; pixel/OCR diff against golden screenshots |
License/trial system |
NEW |
Cannot list on store without it. Simpler now (no signing dev needed; ADN handles) |
VLX compile + .bundle pkg |
Doc 07 |
Submission deliverable; no signing dev needed |
EULA + privacy policy + listing materials |
Doc 07 |
Required listing fields |
Local AutoCAD 2027 alpha laptop |
NEW |
License + install + alpha onboarding |
🟧 HIGH-IMPACT (visibly broken, fix or document)¶
mplb (Ledger/Top Plate) partial impl — 313 panels affected (Smartcap 170 + Arlington 117). Tied to Bug 157.
mppl (Pilaster/Lintel) partial impl — 57 panels (92% Segale). Top-20 ugliest panels in corpus all carry
mppl(Δ −600 to −1,469).Bug 162 — Title-block panel mark not centered (committed but pending GUI verify).
Bug 137 (DFMEA-066) RED-fallback — per Phase A.6 design.
Bug 138 (DFMEA-067) — WC summary table inflation.
DFMEA-049 — DIMUNIT deprecated; dims show integer inches (RPN 112).
DFMEA-050 —
cv-gui-draw.lsploads staledrawdim.lsp(RPN 224).DFMEA-053 —
\XMTEXT renders literally after dim1 toggle (RPN 180).DFMEA-054 — Right-side ELEV marker overlap; cross-pass tracker resets (RPN 240).
GH #155 / DFMEA-052 — Nested defun shadowing (RPN 432, highest unaddressed).
7 hidden-drift panels caught by Tier 2 (CSB032/CSB024/LFC005/007/009/011/IndusLot018).
🟨 MEDIUM (cosmetic / known-limitation acceptable for v1.0)¶
DFMEA-048, 051, 056–059 (RPN 60–180 each) — most are cleanup / refactoring tech debt
Bug 147 — WC multi-insert slope-Y (CSB022 only)
Bug 150 — RL X-dim transition (informational)
Bug 153 — Mezzanine SD boundary (one panel)
Bug 159 — Embed Placement Key legend
Bug 160 — drawing scale 3/16 vs 5/32 (informational)
Bug 161 —
\Xliteral on left elev (✅ Fixedf8461b7a1)GH #151–152, #157–160 (drawdim.lsp tech debt)
CSB008 anomaly (sparse-data panatt drop)
mprb (Recess/Blockout) partial — only 27 panels in 3 projects
🟩 LOW / DEFERRED (v1.1 or v2.0)¶
Phase E:
cv-gui-draweditor mode (idempotent redraw) → v2.0Catalog architecture (WC/embed/hardware → SQLite or master library) → v1.1
mpdl (Dock Leveler) gate — 0 panels in corpus, no test data → v1.1
mpwd / mpro / mpsb (window/rough-opening/square-blockout) → v1.1
cv-web security GH #109–114 (out of cv-cad scope)
Bug 140b — PP/BP hardware 3DSOLID geometry restoration → v1.1 (catalog-dependent)
SDLC update (changes since Doc 35)¶
Phase-gated SDLC is intact. What’s new since Doc 35:
Doc-update protocol per change is now non-negotiable (DFMEA + Bug + GH issue + atomic SYNCPUSH commit per change). Established empirically over Phases A–D.
Tier 2 validation is now operational (cv-tier2-extract / -diff / -batch). Headless 1,375-panel sweep in 103s. Replaces “spot-check text content” with deterministic diff.
Per-step timeout in Run-BatchParity (90 s default) prevents hung runs blocking the whole sweep.
3-tier baseline cascade (
expected.dxf>pre.dxf>golden.dxf) lets us re-baseline selectively without losing FAIL signal on broken panels.Selective re-baseline rule is non-negotiable per the 2026-05-07 incident (bulk re-baseline locked bugs in as “correct”; reverted same day).
ADN handles signing + installer wrapping (per user 2026-05-09 correction) — our deliverable is the unsigned .bundle source + license mechanism. Our SDLC should reflect “submission-ready package” rather than “fully-signed installer” as the v1.0 artifact gate.
The Doc 35 phase model (P0 → P1 → P2 → P3 → P4 → P5) holds. What this plan does: compresses P3 UI work (deferred to v1.1) and reframes P4 (signing/submission) — signing is handled by ADN review, so P4 reduces to “submission package + listing materials.”
Risks still open (top 6)¶
R18 — Solo developer burnout (🟡 MEDIUM). 14 weeks of disciplined sprint cadence. Mitigation: alpha rollups feed weekly triage; small-step doc-update protocol; consider contractor for licensing infra (Speed-up Lever 4).
R6 — VLX recompile failure (HIGH if it fires). First compile may surface load-order issues source-mode hides. Mitigation: VLX compile attempt scheduled Sprint 30 with ≥2 weeks before submission to recover; original PB11 VLX as contingency.
R23 — VLX/source progcont mismatch (HIGH). Reconstruction unfinished. Mitigation: scope tightened to commands actually invoked from
csv.mnu; non-VLX-mode-only paths excluded from v1.0.R24 — Trial license abuse / Autodesk SSO unknowns (🔴 HIGH). Validation deferred → coming due Sprint 29. Mitigation: registry-based 15-day trial first; SSO check optional + non-blocking.
R25 — Parity test gate slip (🟡/🔴). Current 70.8% avg parity vs 95% gate. Mitigation: gate is per-test-count (76 testable items), not per-panel; score the 76 explicitly Sprint 31 (post-plan).
ADN review cycle uncertainty (NEW). 30–60 days, out of our control. Mitigation: submit by Aug 17 → public availability Sept 17 – Oct 17. Plan for one revision cycle.
12-week schedule (May 6 → Jul 28) — RESCOPE PENDING (NLT 2026-07-09 target)¶
2026-05-18 rebaseline: Submission target compressed to NLT 2026-07-09. The 12-week table below is preserved as the previous plan of record. Sprints 28–30 content (License/trial, VLX compile, .bundle pkg, Tier 2 ↔ cv-web cert, M1.7 76-test gate, listing materials, bug bash) must be re-allocated into Sprints 22–27, deferred to post-submission, or reduced in scope. User-verified sprint math pending — do not treat the rows below as the current commitment.
Each week through Jul 1 ends with a printed panel book for the week’s sampled best-panel — a tangible shipping signal you can hold.
Wk |
Window |
Theme |
Project books (1→4 ramp; full project = all panels + site drawing) |
cv-menu gate |
Deliverables |
|---|---|---|---|---|---|
19 |
May 6–12 |
Bug 156 + Bug 140 tactical + Bug 33/35 site-open crash + cv-menu baseline + alpha-laptop procurement |
1 project — CSB (59 panels + CSBSITE; 94.4% project, calibration baseline) |
Run AutoIT cv-menu-validation; classify failures into dialog-render / progcont-routing / data-persist buckets |
Bug 156 lands; Bug 140 name-only; Bug 33/35 site-open crash fixed (gates CSBSITE print); cv-menu defect map published; AutoCAD 2027 license ordered |
20 |
May 13–19 |
mplb + Bug 157 + open bug round 1 + cv-menu fix wave 1 |
1 project — TECT (78 panels + TECTSITE; 89.2% project) |
Fix high-impact menu items: Panel Options (mp_dlg), Panel Lines (pl_dlg), Chamfer (ch_dlg), Door (dr_dlg) |
Bug 157; Smartcap+Arlington move toward PASS; Bugs 31, 34, 103 closed (33/35 done in Sprint 19); Wave-1 menu items pass AutoIT |
21 |
May 20–26 |
mppl + open bug round 2 + cv-menu fix wave 2 — All open bugs + menu green by Jun 1 |
2 projects — Industrial Place/Lot 5 (37+site; 88.5%) + Portside Building H (96+site; 87.0%) |
Fix remaining menu items: Materials List, Print/Plot, Revisions, BoM, Project Details. Re-run validation; gate green |
Pilaster/lintel completed; Bugs 104, 117–120, 162 verify, DFMEA-049/050/053/054 closed; cv-menu 100% pass (gate for Sprint 22 alpha deploy) |
22 |
May 27–Jun 2 |
WC catalog (Bug 137/138) + Waterfall retest + alpha laptop deploy + first tester live |
2 projects — Sample TiltUp Site (59+site; 85.6%) + Lowes FDC nested (78+site; 80.8%) |
Tester smoke-test: open drawing → use menu → run real workflows. First-day report = 2nd validation source |
Phase A.6 RED-fallback shipped; Bug 138 fix; Waterfall avg parity >60%; alpha tester running real workflows on laptop; first-day defect rollup triaged |
23 |
Jun 3–9 |
Bug 158 non-rectangular polygons + AABA003 retest |
3 projects — Rivers Edge (43+site) + Duck Delivery (41+site) + Segale Properties/162 (37+site) |
Re-run cv-menu validation post-polygon-work |
Polygon outline + dim handling; AABA003 right-tab renders; corpus-wide regression sweep |
24 |
Jun 10–16 |
Site-drawing parity track build + site-drawing menu items mapped |
3 projects — Sumner North (68+site) + Lowes FDC top-level (79+site) + Everett Dat (47+site) |
Map every site-mode menu item (csv.mnu site-* progcont values); add site-mode tests to AutoIT fixture |
|
25 |
Jun 17–23 |
Site-drawing bug fixes + 2nd sweep — FINAL WEEK BEFORE JUL 1 — speed showcase |
4 projects — Old Dominion Everett (47+site, 63.5%) + Segale Properties/P152 (96+site, 61%, post-mppl) + Arlington Airport A (84+site, 59.2%) + Smartcap DC North/Building A (116+site, 58.4%, post-mplb) |
Final cv-menu re-validation across panel + site modes |
Bug 33/35 follow-on site fixes; site-drawing parity scorecard; cv-menu green across panel + site; 343 panels + 4 sites printed in one week = speed demonstration |
26 |
Jun 24–30 |
Tier 3 GUI validation automation |
(no print — Jul 1 is the cutoff per user) |
OCR-based or pixel-diff harness for golden screenshots; integrate with Run-BatchParity; smoke-test on CSB001/CSB022; Tier 3 joins Tier 1+2 in batch rollup |
|
27 |
Jul 1–7 |
License + trial + feature gates |
— |
15-day registry-based trial; 3 tiers (Free Demo / Standard / Pro); per-command gates; trial-expired UX + reactivation; SSO check optional/non-blocking |
|
28 |
Jul 8–14 |
VLX compile + .bundle pkg + Tier 2 ↔ cv-web cert |
— |
First successful VLX compile; PackageContents.xml validated; install/load on alpha laptop; Tier 2 round-trip end-to-end test green |
|
29 |
Jul 15–21 |
M1.7 76-test gate + final regression + listing materials |
— |
76-test scoring; failing tests triaged; alpha-test feedback rollup; EULA + privacy policy URLs live; screenshots + release notes + support docs |
|
30 |
Jul 22–28 |
Bug bash + internal security notes + ADN submission |
— |
Internal security notes published; submission to ADN review portal |
|
31 |
Jul 29–Aug 4 |
ADN review response (round 1) + cv-web tutorial track begins |
— |
ADN reviewer questions answered; videos #21 (cv-web tour) + #22 (cv-web project import) |
|
32 |
Aug 5–11 |
ADN review response (round 2) + customer-onboarding doc |
— |
Second-round responses; quickstart-guide doc published; videos #23 (3D viewport) + #24 (panel editor) |
|
33 |
Aug 12–18 |
Public launch prep — website + pricing page + download path |
— |
Webpage updated; pricing tiers live; download/installer link wired; videos #25 (cv-web export PDF) + #26 (raycast selection) |
|
34 |
Aug 19–25 |
Public launch + first external-customer onboarding |
— |
Listing live in Autodesk App Store; first 3 customers onboarded; videos #27 (Zustand session state) + #28 (Dexie offline cache) |
|
35 |
Aug 26–Sep 1 |
Production bug-fix sprint #1 (customer feedback round 1) |
— |
First customer-reported bugs triaged + closed; hotfix released if needed; videos #29 (calc structural props) + #30 (round-trip cvpanel) |
|
36 |
Sep 2–8 |
Tutorial library completion push #1 — advanced cv-cad topics |
— |
Videos #31 (custom layer toggles) + #32 (Batch Utilities deep-dive) + #33 (revision tracking) |
|
37 |
Sep 9–15 |
Production bug-fix sprint #2 + Bug 140b (hardware geom) |
— |
Bug 140b shipped (PP/BP hardware solids); 2nd round of customer fixes; videos #34 (cv-web 3D camera controls) |
|
38 |
Sep 16–22 |
Tutorial library completion push #2 — end-to-end workflows |
— |
Videos #35 (full project end-to-end) + #36 (cv-cad → cv-web → cv-cad round-trip walkthrough) + #37 (tilt-up best practices) |
|
39 |
Sep 23–29 |
Customer-feedback synthesis + v1.1 backlog grooming |
— |
Customer feedback rolled up into v1.1 roadmap doc; videos #38 (troubleshooting common errors) |
|
40 |
Sep 30–Oct 6 |
v1.1 planning + tutorial library final polish |
— |
v1.1 plan published; videos #39 (printing & plotting variants) |
|
41 |
Oct 7–13 |
Tutorial library completion push #3 + library index final |
— |
Video #40 (panel-book production); |
|
42 |
Oct 14–20 |
Production bug-fix sprint #3 + v1.1 first feature lands |
— |
First v1.1 feature merged behind flag; 3rd round customer fixes |
|
43 |
Oct 21–27 |
End-of-October closeout — tutorial library audit + retro |
— |
Library audit (gap-fill if any topic missed); 6-month retro (Sprints 19–43); v1.2 outline drafted |
Critical-dependency timing per week¶
Wk |
Must-be-true going IN |
Must-be-true going OUT |
|---|---|---|
1 |
source-mode TB11 builds + loads on a working AutoCAD 2026/2027 environment |
cv-menu baseline classified; AutoCAD 2027 license + laptop ordered; Bug 156/140 closed |
2 |
Sprint 19 menu defect map exists |
High-impact menu items pass AutoIT (Panel Options / Lines / Chamfer / Door); mplb fix landed; Bugs 31/33/34/35/103 closed |
3 |
All open bugs being actively worked; menu fix wave 1 green |
All open bugs closed; cv-menu 100% pass on AutoIT — Sprint 22 alpha deploy gate |
4 |
Alpha laptop physically delivered + AutoCAD 2027 installed; cv-menu green from Sprint 21 |
First alpha tester live on laptop running real workflows; first-day defect rollup triaged; Phase A.6 RED-fallback shipped |
5 |
Tester feedback being integrated; corpus stable post-Wk-3 fixes |
Bug 158 polygon support shipped; AABA003 right-tab renders in Tier 2 |
6 |
Polygons stable; alpha tester continuous |
Site-drawing test harness running; site-mode menu mapped + tests added to AutoIT |
7 |
Site bugs being fixed in flight |
Site-drawing parity green; site-mode menu green; cv-menu validation green across panel + site — Jul 1 milestone |
8 |
Sprint 25 deliverables all green |
Tier 3 GUI auto-validation harness operational on CSB001 + CSB022 |
9 |
Tier 3 in batch rollup |
License system shipped (15-day trial + 3 tiers + per-command gates) |
10 |
License system stable |
First successful VLX compile; cvpanel round-trip cert green |
11 |
VLX + bundle valid |
M1.7 76-test gate scored; listing materials drafted |
12 |
Listing materials reviewed; bug bash complete |
Submission package delivered to ADN review portal |
Critical path lock: Sprint 21 → Sprint 22 hand-off is the only place a slip definitely shifts the ship date. cv-menu must be green by end-of-day Tuesday May 26 for the alpha laptop to deploy on schedule. If Sprint 19 baseline reveals more menu defects than Sprint 20–3 can absorb, the speed-up levers (top of plan) get triggered IMMEDIATELY in Sprint 20 — don’t wait until Sprint 21 to discover the slip.
Weekly project-book protocol — escalating ramp (1 → 4 PROJECTS, full panels + site each)¶
Per-week project count ramps to demonstrate the drawing process getting faster as the corpus stabilizes:
Wk |
Projects |
Cumulative panels printed |
Difficulty (avg parity of week’s projects) |
|---|---|---|---|
1 |
1 (CSB) |
59 panels + 1 site |
Easy (94.4%, calibration baseline) |
2 |
1 (TECT) |
+78 panels + 1 site = 137 + 2 sites |
Easy (89.2%) |
3 |
2 (IndusLot, Portside H) |
+133 + 2 sites = 270 + 4 sites |
Easy-Medium (88.5% / 87.0%) |
4 |
2 (Sample TiltUp, Lowes FDC nested) |
+137 + 2 sites = 407 + 6 sites |
Medium (85.6% / 80.8%) |
5 |
3 (Rivers Edge, Duck Delivery, Segale 162) |
+121 + 3 sites = 528 + 9 sites |
Medium-Hard (79–80% range) |
6 |
3 (Sumner N, Lowes top, Everett Dat) |
+194 + 3 sites = 722 + 12 sites |
Hard (71–79%) |
7 |
4 (Old Dominion E, Segale P152, Arlington A, Smartcap A) |
+343 + 4 sites = 1,065 + 16 sites |
Hardest (58–63%; speed showcase: 343 panels in 7 days) |
Selection rule: each week pairs the printed projects with the headline fix landing that week. Project escalation goes by avg parity (easiest first) so each book is achievable. Sprint 25 is the speed showcase — 4 projects, ~343 panels, in one week, on the hardest projects in the corpus.
Each book = every panel in the project + that project’s site drawing, printed as full shop drawings (panel face + dims + title block + materials list).
Archive each week’s PDFs in
reports/weekly-panel-books/wk<NN>-<project-slug>/<panel>.pdfplus a single bound<project-slug>-book.pdf.Print pipeline: AutoCAD plot to PDF via
accorescript (no GUI sit-time); PDF binder script combines into the project book.Cutoff: July 1, 2026. After Sprint 25 the focus shifts to Tier 3 auto, VLX compile, license, submission package.
Track B continuation — cv-web publishing (Sprint 26 → Sprint 30)¶
After the Jul 1 print cutoff, the same project rotation continues as cv-web publishing instead of paper printing. Round-trip is the test: export .cvpanel JSON from cv-cad → import into cv-web → render in 3D viewer → re-export → byte-compare. Each project published is one more end-to-end round-trip pass, building toward the Sprint 28 cvpanel round-trip cert.
Wk |
Window |
Projects published to cv-web |
Cumulative round-trip count |
|---|---|---|---|
8 |
Jun 24–30 |
2 — one easy (CSB project, the calibration baseline) + one previously-printed |
2 / 22 folders |
9 |
Jul 1–7 |
2 — TECT + IndusLot/Lot 5 |
4 / 22 |
10 |
Jul 8–14 |
2 — Portside + STS |
6 / 22 |
11 |
Jul 15–21 |
2 — Lowes nested + Rivers Edge |
8 / 22 |
12 |
Jul 22–28 |
2 — Duck Delivery + Segale 162 |
10 / 22 |
(10 of 22 projects round-tripped by submission. Remaining 12 cycle in post-submission, during ADN review window — gives the alpha testers more data and surfaces any cvpanel format issues before public availability.)
Track B success criteria: every published project’s panels round-trip back to a byte-identical .cvpanel JSON. Any drift = a Bug NNN against the round-trip adapter (cv-web cadImportAdapter.ts + cv-cad imprt.lsp).
Why Sprint 19 includes Bug 33/35 (site-open crash)¶
The CSB project book includes CSBSITE.dwg. Bug 33/35 currently crashes AutoCAD on opening any site DWG (acadstk.dmp at _WinMain@16). Without that fix, the CSB project book is panels-only and the site-drawing track stays untested through Sprint 23. Pulling the fix into Sprint 19 unblocks every subsequent project book that includes a site drawing.
If Bug 33/35 root cause is bigger than 2 days of Sprint 19: fall back to panels-only books for Sprint 19–2, fix Bug 33/35 in Sprint 20 alongside the other open bugs, then Sprint 21+ books include sites. Document the fallback decision in the Sprint 19 closeout.
Alpha testing — parallel from Sprint 19¶
Constraint added 2026-05-09: v1.0 license can’t run on VMs (per Autodesk EULA on certain license types). Alpha needs a local AutoCAD 2027 install on a dedicated laptop.
Sprint 19: Order AutoCAD 2027 license (~$1,700/yr seat) for alpha laptop; spec laptop hardware (Win 10 x64 or Win 11; 16+ GB RAM; SSD).
Sprint 20–3: Laptop arrival; AutoCAD install; CV Update batch; smoke-test menu loads + 3 representative commands.
Sprint 22 onward: Alpha tester sits at laptop OR remotes in via Tailscale (consistent with VM 200/201/202 pattern in CLAUDE.md). Weekly bug-rollup template on Tue → triage Wed kickoff → integrated into that sprint.
Sprint 26 onward: Alpha sees a VLX (not source-mode) — new regression class possible.
Sprint 193–14: Alpha switches to bug-bash mode.
Note: VM 200/201/202 still useful for non-license-constrained smoke tests (menu structure, dialog rendering, Tier 1/2 sweeps that don’t trigger the license check). The license-constrained workflows move to the laptop.
Sprint 19 (May 6–12) — detailed crunch plan¶
Focus: unblock the corpus (Bug 156 + Bug 140 tactical) and start the slow-lead-time procurement (laptop + AutoCAD license).
Day-by-day¶
Sprint 19 project book: CSB project — 59 panels (CSB001–CSB059) + CSBSITE. Print pipeline must be built; bound PDF binder due Tuesday.
Wed May 6 — GTM plan to repo + Bug 156 panatt universal predicate
Task 0 first thing: copy the GTM plan to docs/source/modernization-2026/47-gtm-plan.md; add to Sphinx toctree; commit + SYNCPUSH. Stand up docs/source/modernization-2026/48-tutorial-video-index.md with the video phase plan and an empty table for video metadata. Stakeholders read these starting Wed afternoon.
Then:
Read every
panatt_section_active-pcond branch insrc/x64/TB11-01x64/panatt.lsp.Switch each per-section position-specific check to the universal
(= (last r) 1)rule already used for pp/bp (commit263bc545).Sections to convert: wc, fs, lt, sd, dr, dl, pl, ch, bo, so.
Headless test on CSB001/002/003 (PASS preserved), CSB022 (PASS preserved), AABA003 (3 WCs appear, fs strips disappear).
Commit + SYNCPUSH; doc-update Bug 156 status to ✅ Fixed; DFMEA cross-ref.
Thu May 7 — Bug 156 spot-check + Tier 2 re-sweep
Spot-check 1 panel from each Phase B project (22 panels) — confirm no regression.
Re-run
scripts/cv-tier2-batch.py(10 min) — compare tier-2 rollup before/after; quantify parity-% lift.File any new findings as new bug entries.
Fri May 8 — Bug 140 tactical fix + Bug 33/35 site-open crash diagnosis
(Morning) Bug 140 tactical fix:
Edit
src/x64/TB11-01x64/pick.lsp:114-123— extend PP block-name builder to include variant + lift-hardware-type fields decoded from NOD (panatt PP-DECODE) instead of just panel thickness.For geometry: accept simplified geometry for v1.0 — tactical fix lands the NAME match (which Tier 2 catches); 3DSOLID hardware geometry stays logged as Bug 140b deferred to v1.1.
Same treatment for BP block-name builder.
Headless retest: every panel in Phase B corpus should now have matching block names.
Doc-update: Bug 140 status to ✅ Fixed (name only); Bug 140b created for hardware geometry.
(Afternoon) Bug 33/35 root-cause: open CSBSITE.dwg in fresh AutoCAD 2026/2027 with current TB11; capture acadstk.dmp; identify the LISP load-order or
acaddoc.lsppath that triggers the crash. Sites use a differentcsv.lsproute (progcontsite values vs panel values). Likely sites are: (a)csv.lspsite-mode dispatch missing or broken; (b) site-only LISP module fails to load; (c)acaddoc.lspfails before menu loads. Triage to one of these in 4 hours; fix lands Monday or Tuesday.
Mon May 11 — Alpha laptop procurement + Bug 33/35 fix + Bug 162 GUI verify + cv-menu validation baseline
(Morning) Bug 33/35 fix: apply the targeted fix from Wed afternoon’s diagnosis; verify CSBSITE opens cleanly; verify a second site (TECTSITE / STSSITE) opens too (don’t fix one and break another). If root cause is bigger than the morning, panels-only fallback for the Sprint 19 book.
Order AutoCAD 2027 license for alpha laptop (1 seat). Confirm license type is local-install-eligible (no VM restriction).
Order alpha-tester laptop if not already on hand: Win 10/11 x64, 16+ GB RAM, SSD, sufficient for AutoCAD 2027 minimum spec.
GUI-test Bug 162 (panel mark center) on CSB004 — confirm entmake reorder actually emits group 72/11.
If fails, switch to
(command "_.text" "_J" "_C")backup approach.Track procurement in
docs-sensitive/alpha-laptop-procurement.md(new).CRITICAL: run AutoIT cv-menu validation baseline. On VM 108 (or VM 102 — any AutoCAD-2026/2027 VM with current TB11 build), run
scripts/acad2026/cv-menu-validation.au3. Capture every dialog screenshot. Run the OCR pipeline (mandatory per CLAUDE.md guardrail) — DO NOT trust the AutoIT log alone (Bug 25 makes it lie). Classify each menu item as PASS / FAIL / DIALOG-MISSING / DIALOG-WRONG / DATA-PERSIST-BROKEN. Publish baseline asreports/cv-menu-validation/wk01-baseline.mdwith every defect logged as a Bug NNN entry tied to a DFMEA failure mode. This baseline is the gate for Sprint 22 alpha deployment — every defect must be closed (or accepted-deviation logged) before testers see the laptop.
Tue May 12 — alpha kickoff + CSB project-book print + sprint closeout
Send alpha kickoff email to Tai, Dat, Terry, Leon: “v1.0 ship plan, 12 weeks, weekly bug-rollup template, here’s the build to test on existing VM (license-unconstrained smoke tests only for now), laptop with AutoCAD 2027 arriving Sprint 20–3.”
Refresh alpha-tester VMs: pull current
mainto VM 201 (Tai), VM 202 (Dat), VM 200 (Terry/Leon); confirm CV Update batch ran; smoke-test 3 commands.Build the project-book print pipeline (one-time):
scripts/Print-ProjectBook.ps1— input: project slug; for each panel.dwg + site.dwg in the project, runaccore→ load drawing →c:cv-gui-draw→ plot to PDF → save in per-week folder.PDF binder:
pdftkor PowerShell PDF merge → bound<project-slug>-book.pdf.
Run the pipeline on the CSB project: 59 panel PDFs + CSBSITE PDF → bound
csb-book.pdfarchived atreports/weekly-panel-books/wk01-csb/csb-book.pdf.Write Sprint 19 entry into
docs/source/modernization-2026/04-2026-timeline-weekly.md.
Sprint 19 acceptance gates — actual outcomes (closeout 2026-05-13)¶
✅ Bug 156 predicate side — universal
(= (last r) 1)activation flag shipped in7aade53a(CV-131 closed). Decoder side ((nth 14 panatt_is_rowdata)hardcode inpanatt.lsp:~1110) still open; rolled.⏭ Bug 140 tactical — promoted but not coded; rolled to Sprint 20 (CV-134). Tier 2 sweep still shows 100% truncation on 16 of 22 projects.
✅ AutoCAD 2027 license + alpha laptop — procurement complete (confirmed by email; CV-137 closed). Install slides to Sprint 20/21.
⏭ Alpha-tester VM refresh + kickoff email — not run; folds into Sprint 20.
⏭ Bug 162 GUI verify — code shipped (
f680735a,f8461b7a1); GUI walkthrough still pending. Rolled to Sprint 20 (CV-141).✅ Bug 33/35 site-open crash —
CSBSITE.dwgopened cleanly during the CSB book print; no0xC0000005/_WinMain@16reproducing on current build. CV-135 left open and rolled pending a deliberate repro to confirm root-cause vs. masked.✅ Project-book print pipeline built —
scripts/Print-ProjectBook.ps1shipped ine08fb926(CV-138 closed). Smoke-test surfaced two follow-up fixes ((load "csv")path +-PLOTprompt sequence) tracked for Sprint 20.✅ CSB project book printed — 59 panels + CSBSITE bound, completed in a parallel session (CV-139 closed).
⏭ cv-menu validation baseline — not run; rolled to Sprint 20 (CV-136). Still gates Sprint 22 alpha deployment.
Bonus deliverables (not in original Sprint 19 plan)¶
GTM plan promoted to repo as doc 47 (
bc75e46d, CV-132 closed) — plus calendar rebase to Wed→Tue (9bf5ccbd), sprint re-numbering 19–30 (272f5ed8), JIRA-aligned dates (a5244023), Sprints 31–43 + 40-video extension (2e745074), Track D Blueprint Extraction R&D (77798c7f).Tier 1 MCP infrastructure documented (
a66c18c5,5a0d31de,aae960de; CV-325 closed) — 8-server topology,ocr-mcplocal patch,OCR_AUTO_BOOTSTRAPenv.Sentry wired into cv-web (
9d3f3346+ deploy-token injection in73ca4ca7).csvmenu.lsploads underaccoreconsole(AC2027 headless) —96ee1eea/29f9f28d; laterCUILOADlambda wrap fix indc62669b.Title-block visual upgrade — logo banner top-of-page + Arial title block (
6dbefa5b); dim layers magenta → ACI 170 navy + newhardware_dim(14277df2).CI weekly-update — GTM-plan + JIRA-metrics reporter spliced into email and doc 11 (
7722919a,628af599); resilience fixes (2b0fa549,017a4f42).JIRA workspace setup documented (
27861362) and CV project bootstrapped with Tasks/Features/Bugs (no Subtasks per CLAUDE.md rule 9).
Sprint 19 closeout summary¶
Closed (6 JIRA issues): CV-131, CV-132, CV-137, CV-138, CV-139, CV-325. Rolled to Sprint 20 (5): CV-133 (doc 48 tutorial-video index), CV-134 (Bug 140 tactical), CV-135 (Bug 33 — repro pending), CV-140 (tutorial video #1), CV-141 (Bug 162 GUI verify). Remaining in Sprint 19 (1 + parent Feature): CV-136 (cv-menu validation baseline), CV-118 (parent Feature — closes when children land).
Sprint 20 (May 13–19) — kickoff¶
Focus: drain the Sprint 19 rollovers, run the cv-menu validation baseline, fix the Print-ProjectBook smoke-test gaps, land Bug 140 tactical decoder, kick off the tutorial-video library.
Carried in from Sprint 19¶
Item |
What’s left |
|---|---|
CV-134 Bug 140 tactical |
Decode block-name field without 8-char cap in |
CV-135 Bug 33 |
Deliberate repro on |
CV-141 Bug 162 |
30-second GUI walkthrough on CSB004 — confirm MPPN renders centered in title block. |
CV-133 doc 48 |
Stand up |
CV-140 video #1 |
Record 5–8 min cv-cad onboarding (install → load → open project → edit → save). Publish to YouTube; link from doc 48. |
CV-136 cv-menu baseline |
Run |
Sprint 20 acceptance gates¶
✅ Bug 140 tactical fix closed; block-name truncation ≤5% in Phase B corpus.
✅ Bug 33 either closed as Fixed-by-attrition (with documented repro evidence) or new
acadstk.dmpcaptured + root-caused.✅ Bug 162 GUI walkthrough done; bug closed.
✅ cv-menu validation baseline published; every menu defect filed as Bug NNN tied to a DFMEA row.
✅ Tutorial doc 48 indexed; video #1 published.
✅ AutoCAD 2027 install on alpha laptop;
CV Update.batrun; 3-command smoke test passes.✅ Sprint 20 project book printed (project TBD per rotation).
Sprint 20 (May 13–20) — close-out in progress (gated on CV-159 TECT book)¶
Reconciled 2026-05-20: ~100 commits ↔ 48 originally-scoped Jira items + commits that shipped without a Jira item. Sprint remains OPEN until CV-159 (TECT project book — 78 panels + TECTSITE) is printed and bound; the book is the sprint demo archive.
Done in Sprint 20 so far (42 issues):
Section A (existing-item commit matches): CV-481..CV-496 (TECT042 + SO parity backfill batch) + CV-480 Feature container.
Section B (new items created and closed; one-per-commit-cluster): CV-497..CV-521 covering Bug 163 panatt predicate hardening (CV-497), Bug 154 WC type-name recovery + catalog (CV-498), Global Apply (CV-499), Op hand mirror (CV-500), Chamfer mpch=0 (CV-501), CG annotation split (CV-502), wd_dlg overhaul (CV-503), drawdim inside W/H (CV-504), mp_dlg three MPD fixes (CV-505), titleblk NOD round-trip (CV-506), finpan/fp-titleblock (CV-507), Demo-cycle GUI tier-3 (CV-508), Headless test harness (CV-509), Corpus sweep evidence (CV-510), and docs/repo-hygiene batch (CV-511..CV-521): doc 48 feature inventory, doc 49 FAQ, doc 50 Blueprint Extraction, doc 51 cv-cad data-entry map + pick-and-brace simulation, doc precedence cleanup, Conventional Commits codification, patent deliverables tracking, Sprint 19 closeout / Sprint 20 kickoff narrative.
Still open in Sprint 20: CV-159 TECT project book printed (78 panels + TECTSITE) — the sprint-close gate.
Rolled to Sprint 21 (15 issues, id=85): CV-134 Bug 140 tactical decoder, CV-135 Bug 33 site-DWG crash, CV-136 cv-menu validation baseline, CV-140 tutorial video #1, CV-141 Bug 162 GUI verify, CV-142 CV Batch Utilities Path A verify, CV-152 Feature container (Ledger/Top Plate + Menu Modernization Wave 1) re-targeted to Sprint 21 alongside surviving children CV-153 (mplb 313-panel completion), CV-154 (Bug 157 top plate gate), CV-155 (Bug 31 new-user profile), CV-156 (Bug 34 cvplst Batch Utilities), CV-157 (Bug 103 cvxpproj.lsp export naming), CV-158 (cv-menu fix wave 1), CV-160 (Tutorial video #2 Panel Options), CV-344 (Bug 165 AC 2027 LAYER OFF * stall).
Audit results (2026-05-20):
project = CV AND sprint = 1 AND status != Done→ 1 issue (CV-159 TECT book — sprint-close gate).project = CV AND issuetype = Subtask→ 0 issues (no subtask policy violations).project = CV AND sprint = 85→ 30 issues (15 Sprint 20 rollovers + existing Sprint 21 planned items: CV-162..CV-174, CV-326, CV-336).
Sprint 20 acceptance gates — actual outcomes:
⏭ Bug 140 tactical fix — predicate side complete (Sprint 19), encoder/regen rolled.
⏭ Bug 33 site-DWG crash — deliberate repro rolled.
⏭ Bug 162 GUI walkthrough — code shipped (
6caf5833, CV-511); GUI verify rolled.⏭ cv-menu validation baseline — rolled; still gates Sprint 22 alpha deploy.
⏭ Tutorial doc 48 + video #1 — doc 48 shipped (CV-514); video rolled (CV-140).
⏭ AutoCAD 2027 install on alpha laptop — slides to Sprint 21/22.
🔓 Sprint 20 project book printed — OPEN (CV-159 TECT 78 panels + TECTSITE). Sprint close gated on this.
Sprint 19 critical files¶
src/x64/TB11-01x64/panatt.lsp— Bug 156 (lines ~526–620 section-active branches)src/x64/TB11-01x64/pick.lsp— Bug 140 tactical (lines 114–123)src/x64/TB11-01x64/fp-titleblock.lsp— Bug 162 verifyscripts/cv-tier2-batch.py— Bug 156 retest rundocs/source/modernization-2026/32-tb11-bug-tracker.md— flip Bug 140/156/162 status; add Bug 140bdocs/source/modernization-2026/31-comprehensive-workflow-analysis.md— DFMEA Detection drops post-Bug-156docs-sensitive/alpha-laptop-procurement.md(new) — laptop + license trackingdocs/source/modernization-2026/04-2026-timeline-weekly.md— Sprint 19 entry
Sprint 19 verification¶
# Bug 156 — corpus Tier 2 re-sweep (no AutoCAD needed; 103s)
python scripts/cv-tier2-batch.py
# Compare before/after parity %
# Bug 140 tactical — confirm block-name match rate
PYTHONIOENCODING=utf-8 python -c "
import csv
with open('reports/batch-parity/all-projects-tier2-rollup.csv') as f:
rows = list(csv.DictReader(f))
trunc = sum(1 for r in rows if int(r['block_names_missing']) > 0)
print(f'Block-name truncation: {trunc} / {len(rows)} panels')
"
# Target: ≤ 70 of 1,375 panels (≤5% — was 100% in 16 projects)
# Headless regression on CSB001-022
& 'C:\Users\chadw\ConstructiVision\scripts\Run-BatchParity.ps1' -Panels CSB001,CSB002,CSB003,CSB004,CSB022
# Target: all four PASS Δ=0; CSB022 PARTIAL within previous Δ
Track C — Tutorial-video library (now → October 2026)¶
A third parallel track, decoupled from the build sprint cadence. Goal: by ADN public availability (Sept–Oct), nearly every cv-cad function has a how-to video; cv-web functions follow. Easy → difficult ordering mirrors the panel-book ramp — start with project setup and the simplest dialog, end with full-feature workflows.
Cadence¶
1.2–1.5 videos per week — sustainable solo cadence; stretches across May → October (≈ 25 weeks → ≈ 30 videos).
Each video: 3–8 minutes, screen recording + voice-over, exported MP4 + uploaded to YouTube/Vimeo (channel TBD) + embedded in the cv-cad docs site.
Source-of-truth metadata in
docs/source/modernization-2026/48-tutorial-video-index.md(Task 0.5: stand up alongside the GTM plan doc). Each video gets a row: title / target function / cv-cad-vs-cv-web / video URL / link to the function’s doc page / production date.
Phase ordering (easy → difficult)¶
Period |
Focus |
Videos planned |
Coverage |
|---|---|---|---|
May 12 – May 30 (3 weeks) |
cv-cad orientation: Open project, Save, Project Details, simplest dialog (mp_dlg “Panel Options”) |
4 |
Onboarding |
Jun 2 – Jun 27 (4 weeks) |
Per-feature cv-cad dialogs: Panel Lines, Chamfer, Door, Standard Opening, Weld Connections |
6 |
Each headline panel feature, paired with the week the feature stabilizes |
Jun 30 – Jul 25 (4 weeks) |
Per-feature continued: Slab Dowels, Pick Points, Brace Points, Rough Opening, Recess/Blockout, Pilaster/Lintel, Materials List |
7 |
Remaining panel-mode dialogs |
Jul 28 – Aug 22 (4 weeks) |
Site mode: Site setup, Grid, Wall, Slab, Attach Panels, site-mode workflow |
5 |
Whole site-mode track |
Aug 25 – Sep 19 (4 weeks) |
Print + revisions + batch + utilities: Print/Plot, Revisions, Batch Operations, BoM, dwg-to-bundle |
5 |
Power-user / shop-pipeline workflows |
Sep 22 – Oct 17 (4 weeks) |
cv-web introduction + key features: project import, 2D/3D toggle, panel mark editing, dialog round-trip cv-cad ↔ cv-web |
4 |
Intro to companion product |
Oct 20 – Oct 31 (2 weeks) |
Polish + advanced workflows + putting-it-all-together demos |
3 |
Capstone content |
Total: ≈ 34 videos over 25 weeks. Coverage: every dialog in mp_dlg.dcl + site-mode commands + cv-web headline features + start-to-finish workflow demos.
Track-C → Track-A coupling¶
Each video lands AFTER the headline fix for that feature has shipped. Sprint 23 polygon support (Bug 158) → polygon how-to recorded Sprint 23 or Sprint 24. Sprint 25 site mode green → site-setup video recorded Sprint 26. This way the videos document the FIXED state, not the broken-mid-flight state, and they double as proof-of-correctness alongside the panel books.
Track-C JIRA structure¶
Sibling epic: CV-VID “Tutorial-Video Library v1”
Stories: one per phase (CV-VID-1 onboarding, CV-VID-2 panel features part 1, etc.)
Sub-tasks: one per video (script → record → edit → publish → docs link)
Cross-link: each video sub-task references the bug/feature commit that made the demoed workflow work
Track-C labels (JIRA + GitHub)¶
track-video,cv-cad-tutorial,cv-web-tutorial,published,pending-record,pending-edit
Track D — Blueprint Extraction R&D (Sprints 21–27, ship-gated)¶
Reframing (2026-05-18): Track D has been pulled forward from post-submission R&D into the v11.1 ship gate. All 13 child stories now land between Sprint 21 (starts 2026-05-20) and Sprint 27 (ends 2026-07-08) — fully inside the NLT 2026-07-09 ADN submission window. Runs in parallel with the parity / menu modernization / license / submission-package workstreams. JIRA: Epic CV-324 + Feature CV-449 + Stories CV-326 through CV-338 all carry fix-v11.1 + track-blueprint-rd; CV-324 due-date is 2026-07-09.
Goal: stand up a pipeline that takes a construction-drawing PDF (born-digital or scanned shop drawing) and emits structured JSON of panels / openings / dimensions — usable as both a cv-cad import path AND prior-art evidence for the patent draft (docs/source/modernization-2026/01-CV-Patent-Construction-Drawings.md). Architecture spec lives in 50-blueprint-extraction-architecture.
Why this track is in the ship gate: there is no off-the-shelf MCP that takes blueprint PDFs in and emits measurement JSON out. The market gap is real and patent-relevant. Submitting cv-cad to the App Store without at least a working prototype of the extraction path leaves the patent claim with no evidence at filing time and gives competitors first-mover space. Compression is the cost; headcount is the relief valve.
Tier 1 — already wired (Sprint 19, May 2026)¶
pdf-mcp(jztan/pdf-mcp) — PyMuPDF-backed; chunked reading, BM25+semantic hybrid search, Tesseract OCR fallback, table + image extraction, page-render-as-PNG for vision-model hand-off, SQLite cache.ocr-mcp(sandraschi/ocr-mcp) — FastMCP server wrapping SOTA OCR backends (PP-OCRv5, DeepSeek-OCR, Florence-2, DOTS.OCR, Qwen-Image-Layered). Plugged in for technical-drawing dimension strings where generic Tesseract under-performs.
Both available across all sprints from Sprint 19 onward; not gated on this track.
Tier 2 — Local VLM baseline (Sprints 21–24)¶
Stand up a local vision-language model on the alpha laptop (or a dedicated workstation if VRAM demands it) and benchmark it against a small fixture set of representative shop drawings. Goal: baseline what zero-shot quality we can get without domain fine-tuning. Tier 2 + Tier 3 ramp in parallel — the schema and scaffold (Tier 3) start in S21–S22 so Tier 2 has somewhere to write to.
Sprint |
JIRA |
Story |
Pts |
Output |
|---|---|---|---|---|
21 |
CV-326 |
Track-D-S1 — Stand up Qwen2.5-VL 7B locally via Ollama; first prompts against 5 fixture PDFs (mix born-digital + scanned) |
3 |
Quality report: what it gets right, what it misses |
22 |
CV-327 |
Track-D-S2 — A/B Qwen2.5-VL vs Qwen3-VL 8B on same fixtures |
2 |
Recommendation: which model line for ongoing work |
22 |
CV-328 |
Track-D-S3 — Bounding-box extraction quality: can the VLM tag dimension strings + leaders + arrow heads with reliable bboxes? |
5 |
JSON-of-dimensions baseline metric |
23 |
CV-329 |
Track-D-S4 — Symbol recognition baseline: doors, windows, panels, openings, WC types — zero-shot pass rate |
5 |
Per-symbol P/R numbers |
24 |
CV-330 |
Track-D-S5 — Pipeline composition test: |
5 |
End-to-end working prototype on 1 representative project |
24 |
CV-331 |
Track-D-S6 — Decision: continue zero-shot, fine-tune, or bring in commercial baseline (LandingAI ADE) |
1 |
Documented direction for Tier 3 |
Hardware (R27 mitigation): If 7B on the alpha laptop is too slow, fall back to a dedicated workstation (one consumer GPU, ~24 GB VRAM) or rent a cloud GPU for the experiment window. Procurement decision must land by end of Sprint 21 so it does not block Sprint 22’s A/B work. Document the choice — affects per-document cost projection.
Tier 3 — Custom blueprint-extraction MCP (Sprints 21–27)¶
Build a cv-blueprint-mcp server that wraps the Tier 1 + Tier 2 pieces into a single domain-specialized tool. Owned and versioned in the ConstructiVision repo, shippable alongside cv-cad / cv-web. Direct relevance to patent claims around drawing → structured-data extraction. Schema lands first (Sprint 21) so every downstream tool writes to a stable contract — this is the R28 (schema churn) mitigation.
Sprint |
JIRA |
Story |
Pts |
Output |
|---|---|---|---|---|
21 |
CV-336 |
Track-D-S11 — |
3 |
Versioned schema + sample outputs |
22 |
CV-332 |
Track-D-S7 — Repo scaffold: |
5 |
Skeleton MCP in |
23 |
CV-333 |
Track-D-S8 — Vector-PDF path: PyMuPDF text + geometry → dimension parser. Born-digital PDFs only, the high-precision case. |
3 |
Vector pipeline functional |
25 |
CV-334 |
Track-D-S9 — Raster fallback: ocr-mcp + Qwen VLM bridge for scanned PDFs |
5 |
Raster pipeline functional |
25 |
CV-335 |
Track-D-S10 — Scale calibration: detect sheet scale from title block, calibrate measurements to real-world units |
3 |
Scale-aware output JSON |
26 |
CV-337 |
Track-D-S12 — cv-cad import: |
5 |
First end-to-end import demo; patent-draft Rev 3 figure source |
27 |
CV-338 |
Track-D-S13 — Benchmark cv-blueprint-mcp vs LandingAI ADE (commercial baseline) on 10 representative drawings. |
3 |
Benchmark report attached to ADN submission package; informs v1.0 path |
Capacity: 46 story points over 7 sprints averages 6.6 SP/sprint, with Sprint 22 carrying 12 SP (CV-327 + CV-328 + CV-332). Track D capacity sits alongside the parity / menu modernization / license / ADN package workstreams in the same sprints. If burndown lags two consecutive sprints, expand headcount; do not descope.
Patent draft coupling¶
Each Track-D output is a piece of prior-art evidence for the patent. By the time the ADN submission package ships:
Patent claims around “extracting structured measurements from construction drawings” get worked examples and quality numbers attached.
Tier 2 quality reports (CV-326 → CV-330) become patent draft Rev 3 figures.
.cvextract.jsonschema (CV-336) becomes a referenced specification in the draft.CV-337 cv-cad round-trip is the patent-evidence checkpoint — the first demonstration of end-to-end “scanned plan → ConstructiVision project” that the attorney can cite. Lands Sprint 26, 1 week before submission.
CV-338 benchmark vs LandingAI ADE goes into the submission package alongside the patent draft as competitive-baseline evidence.
Coordinate with the patent attorney brief (CV-148) so attorney sees the trajectory ahead of filing.
Track-D labels (JIRA + GitHub)¶
track-blueprint-rd,fix-v11.1,tier-1-mcp,tier-2-vlm,tier-3-custom-mcp,patent-evidence,vector-pdf,raster-pdf,scale-calibration
Track-D risks (ship-gate)¶
All three Track-D risks are elevated to pre-submission ship-gate risks per 00-vision-and-success-criteria §Top Risks.
R26 — VLM hallucination on dimensions. Ship-gate impact: a hallucinated dim in a patent-evidence figure undermines the claim. Mitigation: every reported dim carries
evidence.bbox; downstream tools cross-check by re-OCR’ing that crop; CV-328 explicitly measures bbox quality before CV-329 builds on it.R27 — Hardware for local VLM. Ship-gate impact: if local hardware can’t host the VLM by Sprint 22, the A/B (CV-327) and all downstream Tier 2 work slip into the ADN submission window. Mitigation: cloud-GPU fallback or commercial-API (LandingAI / Mistral OCR) escape hatch must be decided by end of Sprint 21.
R28 — Schema churn. Ship-gate impact: every downstream tool writes to
.cvextract.json; if the schema rewrites mid-sprint, every consumer breaks. Mitigation: ship schema v0.1 in Sprint 21 (CV-336) ahead of every consumer; pinversionfield; rev only at sprint boundaries.
Work tracking — JIRA + GitHub hybrid¶
Project management uses JIRA for the planning/sprint layer and GitHub for the source-of-truth dev layer. The two are cross-linked at every change so every commit traces back to a JIRA story AND every JIRA story has a verifiable GitHub trail. This is not classical-JIRA-only PM — JIRA holds intent + status + risk, GitHub holds the work product.
Hierarchy (single source of truth per layer)¶
JIRA Epic CV-1 "Ship cv-cad v1.0 to Autodesk App Store"
├─ Story CV-W1 "Sprint 19 — Bug 156 + Bug 140 + Bug 33/35 + cv-menu baseline + CSB book"
│ ├─ Sub-task CV-S19-1 Bug 156 universal predicate
│ ├─ Sub-task CV-S19-2 Bug 140 tactical name fix
│ ├─ Sub-task CV-S19-3 Bug 33/35 site-open crash
│ ├─ Sub-task CV-S19-4 cv-menu AutoIT baseline + OCR
│ ├─ Sub-task CV-S19-5 AutoCAD 2027 license + laptop
│ ├─ Sub-task CV-S19-6 Print-ProjectBook.ps1 pipeline
│ └─ Sub-task CV-S19-7 CSB project book printed
├─ Story CV-W2 ... (one per week through CV-W12)
├─ Story CV-LIC "License + trial + feature gates" (multi-week, lives in W9)
├─ Story CV-SUB "ADN submission package" (multi-week, lives in W11–W12)
└─ Risk-tracker (JIRA dashboard) R6 / R18 / R23 / R24 / R25 / ADN-review-cycle
GitHub Issues = Bug NNN (existing tracker convention)
├─ Mirrors `docs/source/modernization-2026/32-tb11-bug-tracker.md` Bug entries
├─ Each bug has `dfmea-XXX` label cross-referencing doc 31
├─ Each bug has `cv-w<NN>` label = which sprint it lands in
└─ Each bug closed via PR comment "Closes #NNN" with closing commit hash
GitHub PRs = atomic commits per existing doc-update protocol
├─ Title: `[CV-W<NN>-<sub>] [Bug NNN] subject` (joint JIRA+Bug ref)
├─ Body: closes Bug NNN; links JIRA CV-W<NN>-<sub>; references DFMEA-XXX
└─ Merge style: rebase + atomic commits; one logical change per commit
Cross-link conventions (NON-NEGOTIABLE)¶
Every commit message:
[CV-W<NN>-<sub>] [Bug NNN] subjectfor bug fixes;[CV-W<NN>-<sub>] subjectfor non-bug work. Both JIRA + GitHub references mandatory.Every JIRA sub-task closed: comment with the closing commit SHA + GitHub PR URL.
Every GitHub bug closed: mirror status to
docs/source/modernization-2026/32-tb11-bug-tracker.mdentry (✅ Fixed + commit) per existing doc-update protocol.DFMEA Detection drops: when the validated control lands, drop D rating in
docs/source/modernization-2026/31-comprehensive-workflow-analysis.mdAND comment on the JIRA story closing it AND comment on the GitHub bug closing it. Three doc surfaces, one atomic commit. (Existing protocol — just gets the JIRA layer added.)
Sprint cadence — weekly = 1 sprint¶
Day |
Activity |
Channel |
|---|---|---|
Wed |
Sprint kickoff: groom backlog into the week’s story; assign sub-tasks |
30-min sync |
Wed–Mon |
Execution: code → PR → review → merge → atomic SYNCPUSH |
GitHub PRs |
Wed–Mon |
Daily standup async: yesterday / today / blockers |
GitHub Issues comments |
Tue AM |
Cv-menu re-validation + alpha bug rollup triage |
Backlog grooming |
Tue PM |
Demo: project-book print + walk-through; Retro: what worked / what didn’t / action items |
Story closed; retro notes captured |
Wknd |
Mid-sprint buffer / SYNCPUSH backlog |
— |
The Tue PM panel-book print IS the sprint demo. The user holds the bound book; that’s the visible deliverable. The retro captures what went into making this week’s book printable.
Definition of Done per story¶
A weekly story (CV-W
✅ Every sub-task closed in JIRA with closing commit hash
✅ Every Bug NNN closed in
docs/source/...32-tb11-bug-tracker.mdAND in GitHub Issues✅ Every DFMEA Detection drop landed in
docs/source/...31-comprehensive-workflow-analysis.md✅ Headless regression sweep on CSB001-004 PASS Δ=0
✅ Tier 2 corpus-wide retest run; rollup updated
✅ cv-menu re-validation run; new defects (if any) filed in JIRA backlog
✅ The week’s project book printed + bound + archived
✅ Weekly entry written in
docs/source/modernization-2026/04-2026-timeline-weekly.md✅ Retro notes captured
Triage and grooming¶
Bug intake — alpha tester reports a defect:
Tester files in JIRA bug-intake queue (or GitHub Issue with
alpha-reportlabel).Tuesday triage: assign to a current sprint sub-task OR backfill into the backlog for a future sprint.
If it’s a blocker: pull into the current week’s story immediately, drop a low-priority sub-task to compensate.
Risk review — top-6 open risks reviewed weekly during Tue retro. Mitigation status updated. New risks created if alpha or sweep surfaces them.
Backlog grooming — Wed AM, 30 min: triage anything new, re-rank, assign sub-tasks for the sprint.
Story template (every JIRA story uses this format)¶
## CV-W<NN>-S<n> — <Story title>
### 📖 User Story
**As a** [user role],
**I want to** [action / capability],
**so that** [business / customer value].
### ✅ Acceptance Criteria (Gherkin Style)
**Scenario:** [Name of Scenario]
- **Given** [Pre-condition]
- **When** [Action]
- **Then** [Result]
[One Scenario per acceptance condition; multiple Scenarios for stories with multiple gates]
### 💡 Implementation Notes
- Critical files / functions / line refs
- Existing helpers to reuse
- Risks / sequencing dependencies
- Test approach (headless / Tier 2 / cv-menu / GUI / alpha)
### 🔢 Estimation (Fibonacci)
- **Complexity:** [Low / Med / High]
- **Point Value:** [1, 2, 3, 5, 8]
Worked example (canonical):
CV-S19-S2 — Bug 156: panatt section-active universal “last element” predicate¶
📖 User Story¶
As a cv-cad maintainer,
I want to unify the per-section activation predicate in panatt.lsp to use the universal “last element of row = activation flag” rule (already proven for pp/bp in commit 263bc545),
so that schema-variant panels (e.g., AABA003’s 20-field WC rows, fs rows with y-coord at pos3) don’t false-positive or false-negative on the per-section position-specific heuristics, unblocking corpus-wide parity for ~250+ panels across mppl, mprb, mplb, fs, lt, sd, dr, dl, pl, ch, bo, so sections.
✅ Acceptance Criteria (Gherkin Style)¶
Scenario: AABA003 fs false-positive cleared
Given TB11 source is at HEAD with Bug 156 fix applied
When I run
python scripts/cv-tier2-batch.pyand check the AABA003 snapshotThen
output.byKindshows feature_dim entity count drops by ≥4 vs pre-fix (the falsely-active fs strips no longer emit)
Scenario: AABA003 wc false-negative resolved
Given TB11 source is at HEAD with Bug 156 fix applied
When I open AABA003 in GUI and run
c:cv-gui-drawThen the 3 bottom-plate WC blocks render (vs 0 before fix)
Scenario: CSB001/002/003 PASS preserved
Given TB11 source is at HEAD with Bug 156 fix applied
When I run
Run-BatchParity.ps1 -Panels CSB001,CSB002,CSB003Then all three return PASS Δ=0
Scenario: Tier 2 corpus shows ≥5% avg-parity lift on worst projects
Given Bug 156 fix is committed and tier2 cache cleared
When I run
cv-tier2-batch.pyThen Segale P152, Segale P161, Smartcap A, Smartcap B, Waterfall each show avg parity ≥5 percentage points higher than the pre-fix baseline
💡 Implementation Notes¶
Edit
src/x64/TB11-01x64/panatt.lsp:526–620—panatt_section_active-pcond branchesSections to convert: wc, fs, lt, sd, dr, dl, pl, ch, bo, so. (pp/bp already universal per
263bc545.)Keep the existing branches as documentation comments showing the position-specific heuristic that broke; replace each with
(= (last r) 1)Mirror to
src/x32/TB11-01x32/panatt.lsp(sync x64 → x32)Doc-update protocol: DFMEA Detection drops on the affected rows; Bug 156 status flips ✅ Fixed in doc 32; GH issue closed; atomic SYNCPUSH commit
Risk: a section that genuinely needs a different rule (none known but possible). Mitigation: re-run CSB001-022 PASS check + Tier 2 corpus retest before claiming done.
🔢 Estimation (Fibonacci)¶
Complexity: Low (refactor, no algorithm change; pattern already proven)
Point Value: 2
Full story backlog — titles + Fibonacci points¶
Each row is one JIRA story; each gets the full template above when worked. Point estimates are first-pass; refined Mon-AM during sprint kickoff. Velocity target: 8–12 points per week (matches single-developer sustainable cadence + alpha-rollup overhead).
Sprint 19 (May 6–12) — 9 stories, ~16 pts¶
ID |
Title |
Pts |
|---|---|---|
CV-S19-S0 |
GTM plan to repo as |
1 |
CV-S19-S1 |
Tutorial-video index |
1 |
CV-S19-S2 |
Bug 156 — panatt section-active universal “last element” predicate (worked example above) |
2 |
CV-S19-S3 |
Bug 140 tactical — PP/BP block-name decode (name only, no hardware geom — Bug 140b deferred to v1.1) |
3 |
CV-S19-S4 |
Bug 33/35 — site-DWG-open crash root cause + fix |
3 |
CV-S19-S5 |
cv-menu validation baseline — AutoIT run + OCR + classify defects |
2 |
CV-S19-S6 |
AutoCAD 2027 license + alpha laptop procurement (procurement only, no install) |
1 |
CV-S19-S7 |
|
2 |
CV-S19-S8 |
CSB project book printed (59 panels + CSBSITE) |
1 |
CV-S19-S9 |
Tutorial video #1 — cv-cad onboarding (Open / Save / Project Details) |
1 |
CV-S19-S10 |
Bug 162 — panel-mark center GUI verify |
1 |
Sprint 20 (May 13–19) — 8 stories, ~14 pts¶
ID |
Title |
Pts |
|---|---|---|
CV-S20-S1 |
mplb (Ledger/Top Plate) partial-impl completion (313 panels affected) |
5 |
CV-S20-S2 |
Bug 157 — top plate (mptp) gate added to |
2 |
CV-S20-S3 |
Bug 31 — new-user AutoCAD profile config |
2 |
CV-S20-S4 |
Bug 34 — |
1 |
CV-S20-S5 |
Bug 103 — cvxpproj.lsp export naming mismatch |
2 |
CV-S20-S6 |
cv-menu fix wave 1 (Panel Options, Panel Lines, Chamfer, Door) |
3 |
CV-S20-S7 |
TECT project book printed (78 panels + TECTSITE) |
1 |
CV-S20-S8 |
Tutorial video #2 — Panel Options (mp_dlg) |
1 |
Sprint 21 (May 20–26) — 12 stories, ~18 pts (sprint heavier; Memorial-Day-week buffer)¶
ID |
Title |
Pts |
|---|---|---|
CV-S21-S1 |
mppl (Pilaster/Lintel) partial-impl completion (57 panels, 92% Segale) |
5 |
CV-S21-S2 |
Bug 104 — Project Details persistence to XRecord |
3 |
CV-S21-S3 |
Bug 117 — New Project DEFAULT routing |
1 |
CV-S21-S4 |
Bug 118 — Project Details stale dialog data |
1 |
CV-S21-S5 |
Bug 119 — Materials List dialog |
1 |
CV-S21-S6 |
Bug 120 — 4 panel print/layer routes still DEFAULT |
1 |
CV-S21-S7 |
DFMEA-049/50/53/54 closures (DIMUNIT, stale drawdim, |
2 |
CV-S21-S8 |
GH #155 — nested defun shadowing refactor |
2 |
CV-S21-S9 |
cv-menu fix wave 2 + final 100% pass = alpha-deploy gate |
1 |
CV-S21-S10 |
Industrial Place / Lot 5 project book |
1 |
CV-S21-S11 |
Portside Business Center / Building H project book |
1 |
CV-S21-S12 |
Tutorial videos #3 (Panel Lines) + #4 (Chamfer) |
2 |
Sprint 22 (May 27–Jun 2) — 8 stories, ~12 pts¶
ID |
Title |
Pts |
|---|---|---|
CV-S22-S1 |
WC catalog Phase A.6 — RED fallback + on-drawing warning + Bug 137 fix |
3 |
CV-S22-S2 |
Bug 138 — WC summary table inflation (per-panel filter) |
2 |
CV-S22-S3 |
Waterfall corpus retest + parity-rollup update |
1 |
CV-S22-S4 |
Alpha laptop deploy + AutoCAD 2027 install + smoke-test |
2 |
CV-S22-S5 |
First alpha tester live + first-day defect rollup triage |
1 |
CV-S22-S6 |
Sample TiltUp Site project book |
1 |
CV-S22-S7 |
Lowes FDC nested project book |
1 |
CV-S22-S8 |
Tutorial videos #5 (Door) + #6 (Standard Opening) |
1 |
Sprint 23 (Jun 3–9) — 6 stories, ~12 pts¶
ID |
Title |
Pts |
|---|---|---|
CV-S23-S1 |
Bug 158 — non-rectangular polygon panel support |
5 |
CV-S23-S2 |
AABA003 GUI retest + corpus-wide regression sweep |
2 |
CV-S23-S3 |
Rivers Edge project book |
1 |
CV-S23-S4 |
Duck Delivery project book |
1 |
CV-S23-S5 |
Segale Properties / 162 project book |
1 |
CV-S23-S6 |
Tutorial video #7 (Weld Connections) |
2 |
Sprint 24 (Jun 10–16) — 6 stories, ~11 pts¶
ID |
Title |
Pts |
|---|---|---|
CV-S24-S1 |
Site-drawing parity track build ( |
5 |
CV-S24-S2 |
Site-mode menu items mapped + AutoIT site-mode tests |
2 |
CV-S24-S3 |
Sumner North project book |
1 |
CV-S24-S4 |
Lowes FDC top-level project book |
1 |
CV-S24-S5 |
Everett Dat project book |
1 |
CV-S24-S6 |
Tutorial videos #8 (Slab Dowels) + #9 (Pick Points) |
1 |
Sprint 25 (Jun 17–23) — 7 stories, ~13 pts (final-week speed-showcase)¶
ID |
Title |
Pts |
|---|---|---|
CV-S25-S1 |
Site-drawing bug fixes + 2nd headless sweep |
3 |
CV-S25-S2 |
Site parity scorecard added to all-projects rollup |
1 |
CV-S25-S3 |
cv-menu re-validation green across panel + site modes |
2 |
CV-S25-S4 |
Old Dominion Everett project book |
1 |
CV-S25-S5 |
Segale Properties / P152 project book (post-mppl) |
1 |
CV-S25-S6 |
Arlington Airport A project book |
1 |
CV-S25-S7 |
Smartcap DC North / Building A project book (116 panels, post-mplb) |
2 |
CV-S25-S8 |
Tutorial videos #10 (Brace Points) + #11 (Materials List) |
2 |
Sprint 26 (Jun 24–30) — 5 stories, ~12 pts (cv-web publishing begins)¶
ID |
Title |
Pts |
|---|---|---|
CV-S26-S1 |
Tier 3 GUI auto-validation harness (pixel-diff or OCR) |
5 |
CV-S26-S2 |
Tier 3 integrated with |
2 |
CV-S26-S3 |
cv-web publishing #1 — CSB project round-trip + 1 second project |
2 |
CV-S26-S4 |
Tutorial video #12 (Pilaster/Lintel) |
1 |
CV-S26-S5 |
Tutorial video #13 (Recess/Blockout) |
2 |
Sprint 27 (Jul 1–7) — 8 stories, ~14 pts (license + trial)¶
ID |
Title |
Pts |
|---|---|---|
CV-S27-S1 |
License system — 15-day registry-based trial |
3 |
CV-S27-S2 |
3-tier feature gates (Free Demo / Standard / Pro) — schema + per-tier registry layout |
2 |
CV-S27-S3 |
Per-command gate enforcement + LISP gate-check macro |
3 |
CV-S27-S4 |
Trial-expired UX + reactivation flow |
1 |
CV-S27-S5 |
Autodesk SSO entitlement check (optional / non-blocking) |
2 |
CV-S27-S6 |
cv-web publishing — TECT + Industrial Place / Lot 5 |
1 |
CV-S27-S7 |
Tutorial video #14 (Site setup) |
1 |
CV-S27-S8 |
Tutorial video #15 (Grid) |
1 |
Sprint 28 (Jul 8–14) — 7 stories, ~13 pts (VLX + bundle + roundtrip cert)¶
ID |
Title |
Pts |
|---|---|---|
CV-S28-S1 |
First successful VLX compile from current source |
3 |
CV-S28-S2 |
|
2 |
CV-S28-S3 |
Install/load on alpha laptop (clean install gate) |
2 |
CV-S28-S4 |
cvpanel round-trip certification (cv-cad → cv-web → cv-cad byte-compare) |
3 |
CV-S28-S5 |
cv-web publishing — Portside + Sample TiltUp Site |
1 |
CV-S28-S6 |
Tutorial video #16 (Wall) |
1 |
CV-S28-S7 |
Tutorial video #17 (Slab) |
1 |
Sprint 29 (Jul 15–21) — 8 stories, ~12 pts (M1.7 + listing materials)¶
ID |
Title |
Pts |
|---|---|---|
CV-S29-S1 |
M1.7 76-test gate scoring |
2 |
CV-S29-S2 |
Failing M1.7 tests triaged into bug bash queue |
1 |
CV-S29-S3 |
Alpha-test feedback rollup → bug bash backlog |
1 |
CV-S29-S4 |
EULA + privacy policy URLs published |
2 |
CV-S29-S5 |
Listing materials (screenshots, release notes, support contact docs) |
3 |
CV-S29-S6 |
cv-web publishing — Lowes nested + Rivers Edge |
1 |
CV-S29-S7 |
Tutorial video #18 (Attach Panels) |
1 |
CV-S29-S8 |
Tutorial video #19 (Print/Plot) |
1 |
Sprint 30 (Jul 22–28) — 6 stories, ~12 pts (submission)¶
ID |
Title |
Pts |
|---|---|---|
CV-S30-S1 |
Bug bash final regression sweep |
2 |
CV-S30-S2 |
Internal security notes published (1-page) |
2 |
CV-S30-S3 |
Submission package assembled (.bundle + listing + EULA + privacy + security notes) |
2 |
CV-S30-S4 |
ADN submission delivered to review portal |
3 |
CV-S30-S5 |
cv-web publishing — Duck Delivery + Segale 162 |
1 |
CV-S30-S6 |
Tutorial video #20 (Revisions) |
2 |
Cross-track stories (rolling, not week-bound)¶
ID |
Title |
Pts |
|---|---|---|
CV-LIC-DSGN |
License system detailed design sub-plan (due Sprint 26 ahead of Sprint 27 implementation) |
3 |
CV-SUB-PREP |
Submission package + listing materials sub-plan (due Sprint 28 ahead of Sprint 29) |
2 |
CV-SEC-NOTES |
Internal security notes outline (due Sprint 28 ahead of Sprint 30) |
2 |
CV-VID-PHASE-AUG |
Tutorial videos Aug phase (videos #21–25, site mode + print + revisions) |
5 |
CV-VID-PHASE-SEP |
Tutorial videos Sep phase (#26–30, advanced cv-cad + cv-web intro) |
5 |
CV-VID-PHASE-OCT |
Tutorial videos Oct phase (#31–34, capstone workflows) |
5 |
Totals¶
Sprint 19–12 stories: 90 stories, ~180 points (~12 shop weeks at 15 pts/wk velocity — fits with buffer)
Cross-track: 6 multi-week stories
Total: ~96 JIRA stories under epic CV-1 + CV-VID + CV-LIC + CV-SUB + CV-SEC
Velocity is tight in Sprint 21 (18 pts) and Sprint 27 (14 pts with new license code). Speed-up levers (top of plan) trigger at first sign of slip.
Labels (consistent JIRA + GitHub)¶
Severity:
blocker,high-impact,medium,low,accepted-deviationLifecycle:
v1.0,v1.1,v2.0Track:
parity,cv-menu,panel-book,site-drawing,polygon,mplb,mppl,mprb,wc-catalog,license,vlx-compile,bundle,tier3-auto,cvpanel-roundtripSource:
headless-tier1,tier2,alpha-report,gui-walkthrough,regressionDFMEA cross-ref:
dfmea-NNN(one per failure mode)
Reporting cadence¶
Daily — async standup in JIRA story comments (3-line: yesterday / today / blockers).
Tuesday — sprint demo (project book print) + retro + story closed + sprint’s commit count + Tier 2 parity delta.
Weekly —
docs/source/modernization-2026/04-2026-timeline-weekly.mdentry covers the week + risk dashboard delta + scope-cut decisions if any.Bi-weekly — risk review with stakeholders (R18 burnout check, R24 license unknowns review, R25 parity gate trajectory).
Existing helpers / infrastructure to reuse¶
scripts/cv-tier2-extract.py/-diff.py/-batch.py(Phase D) — corpus-wide Tier 2 in 103sscripts/Run-BatchParity.ps1(with-PerStepTimeoutSecfrome30a02d58)scripts/Run-AllProjectsParity.ps1(recursive walk + skip-if-exists resume)webpage/Simplestruct/cv-web/src/utils/cvpFormat.ts+cadImportAdapter.ts— round-trip target schemascripts/validation-lsp/imprt.lsp— existing cv-web → cv-cad import (round-trip half)docs/source/modernization-2026/32-tb11-bug-tracker.md— bug template + DFMEA cross-ref patterndocs/source/modernization-2026/45-tb11-parity-test-plan.md§ Phase 5b + Phase B — gate definition3-tier baseline cascade in
Run-BatchParity.ps1— re-baseline policyVM 200/201/202 alpha-test infrastructure (Tailscale + Bitvise SSH; CLAUDE.md) — useful for non-license-constrained tests
What this plan does NOT cover (write-ups still owed before their week starts)¶
License/trial system detailed design (needed before Sprint 29) — registry-based 15-day trial + 3 tiers + per-command gate is currently a sketch. Sub-plan due in Sprint 27 or 10.
Internal security notes template (Sprint 194) — what topics? VM lab disclosure? credential handling? need a 1-page outline before Sprint 29.
Tier 2 ↔ cv-web round-trip integration test fixtures (Sprint 30) — actual test cases (export panel, import, re-export, byte-compare) need a Day-1 design.
Site-drawing parity harness (Sprint 26) — needs a design pass: which site DWGs, what’s the golden, how does redraw work for site? Needs ~1 day before Sprint 26 starts.
Tier 3 GUI auto-validation tooling choice (Sprint 28) — pixel diff vs OCR vs both? AutoCAD’s headless rendering capabilities? needs a Sprint 27 prep.
ADN listing materials (Sprint 193) — screenshots, release notes, demo video? Needs Sprint 30 prep.
Polygon-outline model for Bug 158 (Sprint 23) — what shapes? where is the polygon stored in NOD? Needs ~1 day prep before Sprint 23 starts.