Skip to content

Work Plan: Schedule C Accounting Workbook

Objective

Deliver a production-quality Excel (.xlsx) workbook for single-member LLC (disregarded entity) bookkeeping and Schedule C preparation, per the Founder's detailed requirements prompt supplied 2026-07-12, with the specification recorded in this repository and the implementation built in the devonside-labs implementation repository.

Scope

  • Product specification scaffold under ventures/digital-products/products/schedule-c-workbook/ (status: proposed/draft), with the Founder's requirements prompt captured verbatim as the requirements source.
  • Implementation in C:\Users\Stuart\repos\devonside-labs on a feature branch: modular Python/openpyxl generator, generated .xlsx, implementation note, and validation report.
  • Validation: structural checks (tables, defined names, validations, no merged cells) plus Excel COM open/recalculate verification where Excel is available.

Out of scope

  • Marketplace listing, pricing, or commercialization work.
  • Approving any document (status: approved) — human-only per decision-rights.
  • Changes to other ventures or company-level policy.
  • Committing/pushing in either repository (left to the Founder unless requested).

Applicable authority

  • Root AGENTS.md; ventures/digital-products/AGENTS.md.
  • ADR-0014 — implementation code lives in devonside-labs, not here.
  • Digital Products standards: workbook-architecture, calculation-and-formula, data-modeling, input-and-validation, configuration, compatibility, financial-product-guardrails (proposed — treated as the working requirement set).
  • Product artifact lifecycle (docs/architecture/product-artifact-lifecycle.md): build normally requires a cleared specification gate. The Founder's direct, detailed build instruction of 2026-07-12 is treated as explicit human authorization to run specification and build in the same task; the pasted requirements prompt serves as the specification source.

Files expected to change

devonshire-digital: - work/active/2026-07-12-schedule-c-workbook.md (this file) - ventures/digital-products/products/schedule-c-workbook/** (new, from template)

devonside-labs (feature branch feature/schedule-c-workbook): - products/schedule-c-workbook/** — generator source, generated workbook, implementation note, validation report. - docs/ai/roadmap.md, docs/ai/session-history.md (and decisions.md if a material implementation decision arises).

Assumptions

  • The Founder's pasted prompt is the authoritative requirement set; where it conflicts with the venture's recommended tab pattern, the prompt's explicit 20-sheet architecture controls (it is a per-product deviation documented in the product spec, which the workbook-architecture standard allows).
  • Compatibility baseline: Microsoft 365 desktop (dynamic arrays, LET/FILTER etc.), per the prompt.
  • Sample data is synthetic; tax parameter values (mileage rate, limits) are entered as user-editable settings with no representation of currency/accuracy — the workbook is an educational/organizational tool, not tax advice (financial-product guardrails). Tax-rule content requires human review before any release.
  • IRS-form line mappings in the workbook are labeled as informational defaults the user must verify against current-year IRS instructions; no filing-year-specific accuracy is claimed.

Risks

  • High-risk domain (tax/finance): mitigated by disclaimers in the workbook, hypothesis/assumption labeling, and flagging for human review before release.
  • Excel structural quirks (tables + defined names + validation) can trigger repair prompts: mitigated by COM-based open/recalc verification.
  • Per-record data-quality results table is not fully implementable with static tables + formulas; a per-rule summary design will be used and documented as a deviation in the implementation note.

Validation plan

  • Run the generator; run a structural validation script over the output.
  • Open/recalculate via Excel COM (if available); confirm no repair dialog and read computed pass/fail cells for the built-in expected-impact tests.
  • Run python scripts/check.py and python -m unittest discover tests in this repository before completion.

Progress checklist

  • [x] Baseline grounding (root + venture contracts, standards, ADR-0014, registry)
  • [x] Work plan written
  • [x] Product spec scaffolded and core docs filled (product.json, brief, source requirements captured; remaining template docs unfilled — see handoff)
  • [x] Generator built in devonside-labs (feature/schedule-c-workbook)
  • [x] Workbook generated and validated (structural + Excel COM recalc; 16/16 built-in tests pass; no repair prompt; no merged cells)
  • [x] Implementation note + validation report written
  • [x] devonside-labs docs/ai updated (roadmap, session-history, coding-standards gotchas)
  • [x] Repo validation run and reported (scripts/check.py + unittest)

Decisions required (human)

  • Ratify that this product ("schedule-c-workbook", working name) enters the portfolio; approve the product spec when reviewed.
  • Review of all tax-content wording before any release (financial-product guardrails; high-risk domain).

Handoff notes

  • Nothing is committed in either repository (per session policy). In this repo: this plan + ventures/digital-products/products/schedule-c-workbook/ (scaffold with filled product.json, product-brief, and assets/source-requirements-2026-07-12.md; other template docs still unfilled). In devonside-labs, branch feature/schedule-c-workbook (uncommitted working tree): products/schedule-c-workbook/ (generator, dist workbook, implementation note, validation report, README) plus docs/ai/ updates and a .gitignore line for the recalc artifact.
  • Human decisions outstanding: review tax-content wording before any release (financial-product guardrails; high-risk domain — NOT approved); decide whether to register the product in portfolio/product-registry.json (scaffold ran without --register); commit/PR in devonside-labs (agent does not merge its own PRs there).
  • One intentional amber ships in the sample data: DQ-35 fires because Setup's Business Start Date is blank; it demonstrates the rule and clears when the user fills Setup.
  • Key technical lesson recorded in devonside-labs docs/ai/coding-standards.md: openpyxl-generated formulas must be rewritten to Excel storage encoding (_xlfn./_xlpm./ANCHORARRAY/ [[#This Row]]) or Excel refuses the file.

Work log

  • 2026-07-12: Grounded in both repos; confirmed devonside-labs is the venture implementation repo (registry + ADR-0014). Wrote this plan.
  • 2026-07-12: Scaffolded product via scripts/create_product.py (not registered); fixed duplicate template document_ids; check.py green.
  • 2026-07-12: Built modular openpyxl generator (config / helpers / core / transactions / schedules / reporting / sample data / validators) in devonside-labs. 20 sheets, 52 tables, 76 defined names, 72 table-backed dropdown validations, 40 live DQ rules, 16 automated tests, 25 sample scenarios.
  • 2026-07-12: Excel initially refused the file; bisected via COM to four storage-encoding causes plus one unbalanced parenthesis (Link Check formula). Added formula_storage.py transformer; after fixes Excel opens the file cleanly, full recalc completes, 16/16 tests PASS, and 19 hand-computed Schedule C line values match exactly.
  • 2026-07-12: Wrote implementation note + validation report; updated devonside-labs docs/ai; ran this repo's check.py and unittest (results in final response).
  • 2026-07-13: Follow-up UX/formatting pass on the Founder's request: removed gridlines, centered header vertical alignment, gave table headers explicit Dark Blue/near-white contrast (overriding the built-in table style), removed the 500-row number-format buffer causing Excel's "unused formatting" compatibility warning, added bordered/spaced sections to the Read Me tab, and added a collapsible per-tab Contents nav (columns A:C reserved as a nav margin, grouped via Data > Outline; all tab content moved from column A to column D to make room). The nav-column shift required manually re-deriving ~40 same-sheet raw cell/conditional-format references across the reporting sheets; verified via a real Excel COM recalculation pass (no repair prompt, 16/16 automated tests pass, zero formula-error cells) rather than trusting file generation alone. The Founder asked that the collapsible-nav pattern be treated as a standard for all future Devonside Labs Excel products, not just this one: recorded it as a new "Preferred implementation" subsection in this repo's workbook-navigation-and-ux-standard.md (version bumped 0.1.0 -> 0.2.0), pointing at add_contents_nav in devonside-labs' generator as the reference implementation. Committed and pushed on feature/schedule-c-workbook in devonside-labs (PR opened, not self-merged); this governance-repo doc change committed directly to main per this repo's existing commit pattern (docs-first repo, no branch/PR precedent found in recent history).
  • 2026-07-13 (PR #4, feature/schedule-c-workbook-ux-polish): Replaced the flat cell-based Contents nav with a hand-tuned gradient design (matched from a manual Excel edit) — centered "Contents" header via Center Across Selection (not a merge, which the workbook's structural validator forbids), active-tab row highlighting, and full-column gradient accents in columns A/C. Split six sheets that held more than one named Excel Table (Vendors/Customers, Inventory/COGS, Vehicles, Home Office, Loans, Sales Tax) so each table gets its own tab; fixed ~21 cells with invisible header/total text (nav's white-on-navy style applied with no background fill behind it). Verified via structural validation + Excel COM recalculation (16/16 tests passing). Merged via PR #4.
  • 2026-07-14 (PR #5, feature/schedule-c-readme-and-nav-polish): Read Me layout fix (drops the A:C nav buffer and freeze panes since it carries no Contents nav; content starts at column B instead), row heights now computed from actual Calibri glyph metrics via tkinter instead of a chars-per-line approximation, every sheet's title font bumped 13pt to 16pt, and the nav's light accent color swapped from the Blue-Lighter-80% theme swatch to a literal cream RGB(253,252,247). Merged via PR #5.
  • 2026-07-14: Reviewed devonside-labs activity across PRs #3-#5 for this repo's governance updates. Refreshed workbook-navigation-and-ux-standard.md's "Preferred implementation" section (now stale after PR #4/#5) to describe active-tab highlighting, the Read Me nav exemption, and to point styling specifics (colors/ gradients) at the venture's unresolved visual identity rather than implying they're fixed policy; version 0.2.0 -> 0.3.0. Added two new structural principles to workbook-architecture-standard.md generalizing lessons the reference implementation already enforces — one Excel Table per tab as a default, and no merged cells anywhere (use Center Across Selection instead), consistent with the existing merged-cells caution in the company-wide accessibility-standard.md; version 0.1.0 -> 0.2.0. Spot-checked for company-wide (non-digital-products) policy implications: none found — these are Excel-specific UX/structural patterns explicitly scoped to this venture (workbook-visual-design-standard.md already states it does not apply to Shelfery or other ventures), and the merged-cells point was already anticipated at the company level. Bumped product.json's last_updated to 2026-07-14 to reflect continued iteration; did not touch lifecycle_status (human decision, unchanged).
  • 2026-07-27: Resolved the open question (tracked in devonside-labs' docs/ai/open-questions.md) of whether to backfill this product's unfilled governance-repo template documents (product-requirements.md, acceptance-criteria.md, commercialization-plan.md, decisions/). Per the Founder's direct instruction: no — the governance repo defines the venture only; per-product specs live entirely in the implementation repository. Recorded as DD-DIGPROD-ADR-0003; updated product-artifact-lifecycle.md (stage 3), product.json's status_note, context-loading.md, and role-routing.md to match. Mirror decision recorded in devonside-labs' docs/ai/decisions.md ("Product specs live with the product, not in governance-repo templates", 2026-07-27) and docs/ai/open-questions.md (item removed). python scripts/check.py green after these changes.

Report an issue about this page