| C1 |
Every package builds inside m365pnp/spfx:1.23.2; no
Node on the host required |
ADR-002 |
☐ |
| C2 |
Each SPFx package is a standard Yeoman project; shared packages via
workspace symlinks and path mapping |
ADR-001 |
☐ |
| C3 |
Build order shared-core → shared-ui → SPFx
packages via TypeScript project references |
ADR-001 |
☐ |
| C4 |
No component talks to SharePoint directly; all access via
IDataService chosen in onInit and injected via
context |
ADR-003 |
☐ |
| C5 |
LocalDataService fixtures contain one active contract,
a bridge pair with 2-week overlap, half days, holidays for BG and
*, two demo users |
ADR-003 |
☐ |
| C6 |
One entry per contractor per date is enforced in the service;
overlap dialog moves, never duplicates |
ADR-008 |
☐ |
| C7 |
Visibility filters: Contractor eq me /
ContractManager eq me; role derivation order as design
§7 |
ADR-005 |
☐ |
| C8 |
PDF generated client-side; layout per design §6.5; file name
Timesheet_<ContractCode>_<from>_<to>.pdf |
ADR-004 |
☐ |
| C9 |
Bundle size within SPFx guidance, or fallback to jsPDF recorded in
an ADR update |
ADR-004 |
☐ |
| C10 |
Provisioning via Provision-OrpheusSite.ps1, idempotent,
-WhatIf supported, no Feature Framework
elements.xml for lists |
ADR-006 |
☐ |
| C11 |
Public repo history starts from the orphan branch |
ADR-007 |
☐ |
| C12 |
Approving-organisation and service-provider labels are web part
properties with neutral defaults |
Design §2 anti-goals, §6.4 |
☐ |
| C13 |
No real client or previous employer named in code, fixtures, docs,
screenshots or history |
Design §2, §8 |
☐ |
| C14 |
Theme tokens from shared-ui/theme used by every
artefact |
Design §6.6 |
☐ |
| C15 |
Field customizer reads only the item's own columns |
Design §6.7 |
☐ |
| C16 |
Form customizer validation rules BR-6, overlap notice BR-7 |
Design §6.8 |
☐ |
| C17 |
Unit tests exist for data services, period / overlap / totals logic
and the PDF model builder |
Design §9 |
☐ |
| C18 |
ContractCalendar.aspx honours contractId;
Display form and header menu deep-link to it |
Design §6.9 |
☐ |
| C19 |
Menu is My calendar · Contracts · Holidays; role-filtered |
Design §6.9 |
☐ |
| C20 |
.devcontainer uses the same image as
compose.yml |
ADR-002 |
☐ |