May 2026 reshape. archive/ is now the only physical project-root
directory; working/, staging/, reviewing/ move from the project root
into each archive/<party>/ folder. Six top-level URLs become virtual
aggregators served via the cascade rather than disk:
ssr/mdl/rsk tables rollups across parties with a
synthesised $party source-party column
working/staging/ browse folder-nav listings of parties with
reviewing non-empty content in the slot; per-party
URLs 302-redirect to archive/<party>/<slot>/
Mkdir at the project root is restricted to `archive` and `_`/`.`-
prefixed system names — virtual aggregator names and ad-hoc folders
return 409.
Plan Review hardcodes the scaffold convention (archive/<party>/
{reviewing,staging}/<tracking>/); the pre-reshape
on_plan_review.{reviewing_root,staging_root} cascade keys are dropped.
document_controller is now subtree-admin of every archive/<party>/
(not of project-root working/staging/ as before), so per-party
lifecycle slots inherit admin authority through the cascade.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
# Default project-rollup Risk Register spec, served by zddc-server
|
|
# when no operator-supplied table.yaml exists at <project>/rsk/.
|
|
#
|
|
# This view aggregates every risk row from every party under
|
|
# <project>/archive/. Each synthetic row is backed by the real file
|
|
# at <project>/archive/<party>/rsk/<file>.yaml; the leading `$party`
|
|
# column is the server-synthesized source-party identity (path-
|
|
# injected on read, not stored in the YAML). The `$` sigil marks it
|
|
# as system-managed — tables tool renders read-only and strips it
|
|
# before submitting a row write.
|
|
#
|
|
# + Add row IS enabled here: the form schema's `party` field doubles
|
|
# as the routing key — the server reads the submitted `party` field,
|
|
# finds the matching <project>/archive/<party>/ folder, and writes
|
|
# the row inside its rsk/ subfolder. The party folder must already
|
|
# exist (create it via the SSR view).
|
|
|
|
title: Project Risk Register (all parties)
|
|
description: Every risk across all parties under archive/. Click a row to edit; + Add row uses the Package column to route the new row to the matching archive/<party>/rsk/ folder.
|
|
|
|
columns:
|
|
- field: $party
|
|
title: Package
|
|
width: 7em
|
|
- field: id
|
|
title: ID
|
|
width: 6em
|
|
- field: title
|
|
title: Risk
|
|
- field: category
|
|
title: Category
|
|
width: 10em
|
|
- field: likelihood
|
|
title: L
|
|
width: 4em
|
|
- field: impact
|
|
title: I
|
|
width: 4em
|
|
- field: severity
|
|
title: Sev
|
|
width: 5em
|
|
- field: owner
|
|
title: Owner
|
|
width: 12em
|
|
- field: status
|
|
title: Status
|
|
width: 9em
|
|
enum: [open, mitigated, accepted, closed]
|
|
- field: dueDate
|
|
title: Due
|
|
format: date
|
|
width: 8em
|
|
|
|
defaults:
|
|
sort:
|
|
- { field: severity, dir: desc }
|
|
- { field: $party, dir: asc }
|