Restructure project documentation

Separate operator guides from development contracts, relocate
implementation notes under `docs/devel/`, and update cross-references
and
hardware tooling paths. Add getting-started, user administration, and
firmware update guides while preserving firmware behavior.
This commit is contained in:
2026-09-21 15:24:42 +02:00
parent 655f26a611
commit ab6a8010ba
43 changed files with 959 additions and 364 deletions
@@ -40,9 +40,13 @@ a0=OUT/'pcb-a0-before-reposition.kicad_pcb'
a1=ROOT/'serial-carrier.kicad_pcb'
assert sha(a0)==report['a0_snapshot_sha256'], 'A0 snapshot changed'
assert sha(OUT/'pcb-routing-input.kicad_pcb')==report['a1_unrouted_sha256'], 'A1 routing input changed'
# These two handoff documents are intentionally updated during A1 integration.
# Historical reports exempt these handoff documents, updated during A1 integration.
# Keep the legacy key exemption; new reports use ../../docs/devel/hardware/PCB/
# pcb-draft-notes.md and that relocated note must pass the normal hash check.
intentional_updates=[name for name in ('README.md','pcb-draft-notes.md')
if name in report['protected_file_sha256']]
protected={name:digest for name,digest in report['protected_file_sha256'].items()
if name not in ('README.md','pcb-draft-notes.md')}
if name not in intentional_updates}
for name,digest in protected.items():
assert sha(ROOT/name)==digest, 'protected file changed: '+name
old,new=parse(a0),parse(a1)
@@ -88,7 +92,7 @@ assert [x for x in old if isinstance(x,list) and x[0]=='net']==[x for x in new i
assert not (ROOT/'~serial-carrier.kicad_pcb.lck').exists(), 'PCB reopened before handoff'
result=dict(a0_snapshot_unchanged=True,a1_unrouted_snapshot_unchanged=True,
protected_files_unchanged=list(protected),
intentional_documentation_updates=['README.md','pcb-draft-notes.md'],
intentional_documentation_updates=intentional_updates,
cad_projection_graphics=len(cad_owned),
footprints_identical_except_authorized_placement=True,
footprint_count=len(old_fp),unrelated_board_graphics_preserved=len(unchanged_old),