Targets main. Rebased onto main after PR 53 (the docs that record C1 to C11) merged.
Issues applied (behaviour changes, built with tests and docs)
C1, issue 1: "over target" is decided by VISUAL ticket hours against the target. The timer stays as shown, and no ticket hours means not over. PM tables, KPI, CSV and PDF follow.
C2, issue 24: a Q.C. reject always needs a reason of 8 or more characters. An NCR number no longer stands in for it. After a reject with no NCR, the accept needs an NCR number (422 ncr_required). The accept stores it. NCR documents go into the data book.
C3, issue 25: FILE is blocked while the unit's ITP is not complete (itp_complete).
C4, issue 27: prints open the print dialog on the same page. pdf.js renders the stamped PDF, and no new tab opens. The CSP is unchanged.
C5, issue 31: FILE is blocked, not warned, while VISUAL shows a work order open, on both routes. The feed sets and clears vclosed_at on VISUAL packets, so the Clerical board moves the packet by itself. confirm_open_wos is gone. Hand packets keep the manual close.
C6, issue 8: the data book has no history section. The change-order table stays as a page in section 1.
C7, issue 18: new SHORT_APPROVE with a signature. The supervisor of the packet's department approves each short receipt. QC_ACCEPT and FILE need every short approved (shorts_approved). New append-only short_approvals table.
C8, issue 23: checklists are per department, in settings rows checklist:<code>. The department supervisor or Admin edits them on the new /checklists screen; Q.C. does not. A stage freezes its list at START, and stages already started are backfilled by migration 0011.
C9, issue 32: the stamp check is open to Admin, Q.C. and Clerical on /stamp-check and /api/stamp-verify. The /api/admin paths stay as aliases.
C10, issue 33:/api/pm/* and the PM screen are for PS-ProjectMgmt and Admin only.
C11, issue 36: the Stall screen has no station picker. GET /api/stall/mine lists the packets assigned to the welder, each at the stall the supervisor picked.
Confirmations recorded
Issue 9: keep the change order on a same-rev re-release (SethD, 2026-10-29). Recorded in PLAN Q10.
Questions asked on Gitea (not guessed)
Issue 4: what Presley's Production Planner is, where it lives, what a row holds, and how often it changes. The order rule stays as built.
Issue 31: a work order deleted from VISUAL while still open blocks filing for good. Should it count as closed after 2 runs, or should an Admin close it by hand with a reason? The Shipping-route question there still stands.
Choices to check
The stamp check and checklist saves need a password session. A PIN session gets password_session_required.
Packets in flight at deploy need supervisor approval of their existing short receipts, and an NCR at the next accept after a reject that had none.
The UI no longer edits the shared weld and plain default lists. /api/admin/checklists still does.
Verified
Locally: ruff, ruff format, mypy, tsc (tsconfig.app.json), eslint.
docker-1 CI compose stack: 6114 server tests, 366 frontend tests, 91 of 91 Playwright scenarios, and doctor at 0011_seth_changes.sql.
Targets main. Rebased onto main after PR 53 (the docs that record C1 to C11) merged.
## Issues applied (behaviour changes, built with tests and docs)
- **C1, issue 1:** "over target" is decided by VISUAL ticket hours against the target. The timer stays as shown, and no ticket hours means not over. PM tables, KPI, CSV and PDF follow.
- **C2, issue 24:** a Q.C. reject always needs a reason of 8 or more characters. An NCR number no longer stands in for it. After a reject with no NCR, the accept needs an NCR number (422 `ncr_required`). The accept stores it. NCR documents go into the data book.
- **C3, issue 25:** FILE is blocked while the unit's ITP is not complete (`itp_complete`).
- **C4, issue 27:** prints open the print dialog on the same page. pdf.js renders the stamped PDF, and no new tab opens. The CSP is unchanged.
- **C5, issue 31:** FILE is blocked, not warned, while VISUAL shows a work order open, on both routes. The feed sets and clears `vclosed_at` on VISUAL packets, so the Clerical board moves the packet by itself. `confirm_open_wos` is gone. Hand packets keep the manual close.
- **C6, issue 8:** the data book has no history section. The change-order table stays as a page in section 1.
- **C7, issue 18:** new `SHORT_APPROVE` with a signature. The supervisor of the packet's department approves each short receipt. QC_ACCEPT and FILE need every short approved (`shorts_approved`). New append-only `short_approvals` table.
- **C8, issue 23:** checklists are per department, in settings rows `checklist:<code>`. The department supervisor or Admin edits them on the new `/checklists` screen; Q.C. does not. A stage freezes its list at START, and stages already started are backfilled by migration 0011.
- **C9, issue 32:** the stamp check is open to Admin, Q.C. and Clerical on `/stamp-check` and `/api/stamp-verify`. The /api/admin paths stay as aliases.
- **C10, issue 33:** `/api/pm/*` and the PM screen are for PS-ProjectMgmt and Admin only.
- **C11, issue 36:** the Stall screen has no station picker. `GET /api/stall/mine` lists the packets assigned to the welder, each at the stall the supervisor picked.
## Confirmations recorded
- **Issue 9:** keep the change order on a same-rev re-release (SethD, 2026-10-29). Recorded in PLAN Q10.
## Questions asked on Gitea (not guessed)
- **Issue 4:** what Presley's Production Planner is, where it lives, what a row holds, and how often it changes. The order rule stays as built.
- **Issue 31:** a work order deleted from VISUAL while still open blocks filing for good. Should it count as closed after 2 runs, or should an Admin close it by hand with a reason? The Shipping-route question there still stands.
## Choices to check
- The stamp check and checklist saves need a password session. A PIN session gets `password_session_required`.
- Packets in flight at deploy need supervisor approval of their existing short receipts, and an NCR at the next accept after a reject that had none.
- The UI no longer edits the shared weld and plain default lists. `/api/admin/checklists` still does.
## Verified
- Locally: ruff, ruff format, mypy, tsc (`tsconfig.app.json`), eslint.
- docker-1 CI compose stack: 6114 server tests, 366 frontend tests, 91 of 91 Playwright scenarios, and doctor at `0011_seth_changes.sql`.
Migration 0011. Docs: PLAN, POLICY, SECURITY, SCHEMA, FEED, README, CHANGELOG.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
spencerm
changed target branch from seth-answers-3 to main2026-10-30 22:37:03 +00:00
- C1 (issue 1): over target follows VISUAL ticket hours, not the timer.
- C2 (issue 24): a Q.C. reject always needs a reason; accept needs an NCR number after a reject without one.
- C3 (issue 25): an incomplete unit ITP blocks filing.
- C4 (issue 27): prints open the print dialog on the page, no new tab.
- C5 (issue 31): filing is blocked while VISUAL shows a work order open; the feed sets vclosed on VISUAL packets.
- C6 (issue 8): the data book leaves out the history pages.
- C7 (issue 18): the supervisor approves each received short; accept and filing wait for it.
- C8 (issue 23): per-department checklists, edited by the department supervisor or Admin, frozen at START.
- C9 (issue 32): Q.C. and Clerical may run the stamp check.
- C10 (issue 33): the PM screen and reports are for PS-ProjectMgmt and Admin only.
- C11 (issue 36): the Stall screen lists the packets assigned to the welder, at the supervisor's stall.
Migration 0011. Docs: PLAN (also issue 9 confirmed, issue 4 asked), POLICY, SECURITY, SCHEMA, FEED, README, CHANGELOG.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Targets main. Rebased onto main after PR 53 (the docs that record C1 to C11) merged.
Issues applied (behaviour changes, built with tests and docs)
ncr_required). The accept stores it. NCR documents go into the data book.itp_complete).vclosed_aton VISUAL packets, so the Clerical board moves the packet by itself.confirm_open_wosis gone. Hand packets keep the manual close.SHORT_APPROVEwith a signature. The supervisor of the packet's department approves each short receipt. QC_ACCEPT and FILE need every short approved (shorts_approved). New append-onlyshort_approvalstable.checklist:<code>. The department supervisor or Admin edits them on the new/checklistsscreen; Q.C. does not. A stage freezes its list at START, and stages already started are backfilled by migration 0011./stamp-checkand/api/stamp-verify. The /api/admin paths stay as aliases./api/pm/*and the PM screen are for PS-ProjectMgmt and Admin only.GET /api/stall/minelists the packets assigned to the welder, each at the stall the supervisor picked.Confirmations recorded
Questions asked on Gitea (not guessed)
Choices to check
password_session_required./api/admin/checklistsstill does.Verified
tsconfig.app.json), eslint.0011_seth_changes.sql.Migration 0011. Docs: PLAN, POLICY, SECURITY, SCHEMA, FEED, README, CHANGELOG.
🤖 Generated with Claude Code
1cd6688247to70a97398f1