S1 Personnel Section
Man the force. Personnel accountability, strength reporting, casualty operations, replacement flow, and personnel services for the task force.
The S1 lands as the fourth instance of the house pattern: a personnel running estimate at /s1 (facts and assumptions, strength rollup ribbon, CA_S1 conclusions line that joins the S4 and S6 staff inputs on the commander's update), with boards underneath feeding it: PERSTAT, the casualty workflow, the replacement pipeline, and the suspense roster. Per FM 1-0, the section runs on four competencies: man the force, provide HR services, coordinate personnel support, and conduct HR planning and operations. It is an operations-process section: it consumes the common picture and produces personnel staff work for paragraph 4 of the order.
Build contract: docs/specs/S1_SECTION_DESIGN_2026_06_10.md · PerClient seam at src/lib/per/ · PER_* tables in schema-per.ts · Foundry twin branch s1-per-proto.
| Unit | Assigned | PDY | Posture |
|---|---|---|---|
| 1st Combined Arms Bn (fictional) | 620 | 581 (94%) | Green |
| 2d Cavalry Sqdn (fictional) | 540 | 452 (84%) | Amber |
| 3d Infantry Bn (fictional) | 600 | 564 (94%) | Greenlate report |
| Battle Group East (fictional) | 480 | 449 (94%) | Green |
| Forward Support Co (fictional) | 180 | 171 (95%) | Green |
Fictional preview numbers. Daily report upsert per unit (the LOGSTAT pattern); PDY percent drives the posture chip; reports older than 24 hours flag as late.
A gated lifecycle (canTransitionCasualty, audited through the generalized routing_log) modeling the workflow the section runs: collect, verify, support notification, track, close.
Sanitization is strictest here by design: status flow only. No names, no identifying fields anywhere in the schema, placeholder categories like [INJURY] and [NONBATTLE]. The object demonstrates the process, never the person.
Inbound gains by duty position (never by person), moving Forecast → In Transit → Arrived → Assigned. The movement-board shape, reused.
Quarterly awards board packet
Award
Evaluation suspense, rating cycle
Evaluation
Personnel action review
Personnel Action
Overdue is derived from the due date, never stored (the S6 COMSEC suspense pattern).
Plus the shared constructs every section already uses: estimate_note rows with section 'S1' (ids S1F-N / S1A-N) and the CA_S1 assessment line the commander's update reads.
First wave (one session): PerClient seam, schema-per.ts, Blue Town seed plus additive migration, /s1 running estimate, /s1/perstat with report upsert, /s1/casualty with the gated lifecycle.
Second wave: replacement pipeline, suspense roster, /api/personnel-assist drafting the paragraph 4 personnel subparagraph, PDY percent on the S3 unit cards.
Foundry: PER_* object types on an s1-per-proto branch, cross-branch links to OPS_Unit only, casualty transitions enforced by Action submission criteria.
The running-estimate page shape is proven three times (S2, S4, S6); the S1 build is pattern execution, not design work.