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>
70 lines
2 KiB
YAML
70 lines
2 KiB
YAML
# Default project-rollup Master Deliverables List spec, served by
|
|
# zddc-server when no operator-supplied table.yaml exists at
|
|
# <project>/mdl/.
|
|
#
|
|
# This view aggregates every deliverable row from every party under
|
|
# <project>/archive/. Each synthetic row is backed by the real file
|
|
# at <project>/archive/<party>/mdl/<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 mdl/ subfolder. The party folder must already
|
|
# exist (create it via the SSR view).
|
|
|
|
title: Project Deliverables (all parties)
|
|
description: Every deliverable 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>/mdl/ folder.
|
|
|
|
columns:
|
|
- field: $party
|
|
title: Package
|
|
width: 7em
|
|
- field: originator
|
|
title: Originator
|
|
width: 8em
|
|
- field: phase
|
|
title: Phase
|
|
width: 5em
|
|
- field: project
|
|
title: Project
|
|
width: 8em
|
|
- field: area
|
|
title: Area
|
|
width: 5em
|
|
- field: discipline
|
|
title: Disc.
|
|
width: 5em
|
|
- field: type
|
|
title: Type
|
|
width: 6em
|
|
- field: sequence
|
|
title: Seq.
|
|
width: 5em
|
|
- field: suffix
|
|
title: Suffix
|
|
width: 5em
|
|
- field: title
|
|
title: Deliverable
|
|
- field: plannedRevision
|
|
title: Rev.
|
|
width: 5em
|
|
- field: plannedDate
|
|
title: Planned
|
|
format: date
|
|
width: 8em
|
|
- field: status
|
|
title: Status
|
|
width: 6em
|
|
enum: [DFT, IFR, IFA, IFC, AFC, AB]
|
|
- field: owner
|
|
title: Owner
|
|
width: 12em
|
|
|
|
defaults:
|
|
sort:
|
|
- { field: $party, dir: asc }
|
|
- { field: plannedDate, dir: asc }
|