Update Conventions
Recipes for keeping the portal accurate and internally consistent. These conventions are the
contract that both human maintainers and the future portfolio-portal-orchestrator skill follow.
Cadence
| Trigger | Update |
|---|---|
| A repo is created / renamed / archived | Repo digest + registry row + affected venture(s) + changelog |
| A repo’s stack or purpose changes materially | Its digest (last_reviewed) + registry row + changelog |
| A new cross-repo relationship or dependency | Architecture diagrams + both digests + changelog |
| A structural/portal decision | New ADR + changelog + any affected page backlinks |
| A duplicated capability is noticed across repos | Note on both digests + a duplication flag + possible ADR |
| Roadmap shifts | current-state/roadmap.md + changelog |
| Monthly review | Re-verify last_reviewed dates; sweep for orphans & dead links |
Recipe: add a repo
- Copy
templates/repo-digest.template.md→portal/repos/<slug>.md. - Fill in every field; use
Unknown/TBDwhere you don’t yet know — do not guess. - Add a row to
portal/registry/repo-registry.md. - Link the repo from its venture digest (create the venture first if needed).
- If it introduces a new cross-repo edge, update the diagrams in
portal/architecture/system-of-systems.md. - Add a changelog line and update the status dashboard counts.
Recipe: add a venture / system
- Copy
templates/venture-digest.template.md→portal/ventures/<slug>.md. - List member repos (each must have a digest + registry row).
- Add or update the Venture map diagram in the architecture page.
- Changelog line.
Recipe: record a decision
- Copy
templates/adr.template.md→portal/decisions/NNNN-kebab-title.md(next free zero-padded number). - Set
status: proposed→ move toacceptedwhen decided. Never edit an accepted ADR’s decision; supersede it with a new ADR and set the old one tosuperseded. - Backlink from every page the decision affects; forward-link from those pages to the ADR.
- Changelog line.
Recipe: update a diagram
- Edit the embedded Mermaid block in the relevant
portal/architecture/page. - Keep node IDs stable (rename labels, not IDs) so diffs stay readable.
- Ensure every node maps to a real digest and every digest that participates is drawn.
- Changelog line if the topology changed.
Consistency invariants (must always hold)
- Every repo digest ⇄ exactly one registry row (no orphans, no duplicates).
- Every venture ⇄ its member repos are mutually linked.
- Every architecture node ⇄ a real digest.
- No dead internal links; no silent blanks (use explicit placeholders).
last_reviewedon any page you touched is today’s date.
Generated vs human-authored regions
The orchestrator will eventually own regions wrapped in <!-- GENERATED --> markers and must
preserve <!-- HUMAN --> regions verbatim. Until the skill exists, humans may edit both, but should
keep hand-written prose inside <!-- HUMAN --> so it survives the first automated run.
Definition of done
See the checklist at the end of CLAUDE.md.