Skip to content

docs(architecture): clear model drift + re-arm the drift/dead-link guard (gpk-7hype) - #6

Open
sjarmak wants to merge 3 commits into
mainfrom
bd-gpk-7hype
Open

docs(architecture): clear model drift + re-arm the drift/dead-link guard (gpk-7hype)#6
sjarmak wants to merge 3 commits into
mainfrom
bd-gpk-7hype

Conversation

@sjarmak

@sjarmak sjarmak commented Jul 12, 2026

Copy link
Copy Markdown
Owner

What

Re-arms the architecture drift guard and clears the model drift that accumulated while it was report-only.

  • docs(architecture): fix model drift and re-arm dead-link guard (gpk-7hype) — corrects the drifted architecture model and flips the guard back to blocking (reverting the report-only stopgap in f9b70a5).
  • refactor(architecture): dedup #external styling and rationale prose (gpk-4admr) — removes duplicated styling/rationale in the model.
  • docs(architecture): finish slack-pack->slack-full rename in model.c4 comments (gpk-bi6xp) — completes the naming rename in model comments.

Why

The drift guard was made non-blocking (f9b70a5) to unblock unrelated work; the underlying model drift was never fixed, so the guard could not be safely re-armed. This clears the drift and restores the guard.

Test plan

  • Architecture drift guard runs green on this branch (the point of the change).
  • Dead-link guard passes.

sjarmak and others added 3 commits July 11, 2026 12:54
…hype)

The architecture model documented packs absent from main and the dead-link
guard had been silenced (f9b70a5 rewrote check-links.mjs to ::warning:: +
exit 0) instead of the model being repaired. Repair the model, then restore
the guard as a hard gate.

- model.c4: rename slack-pack -> slack-full throughout (dir was renamed on
  main; slack-pack/ is absent). Re-point spHardening's two consolidated links
  (dispatch_drops.go + confined_open.go, merged into adapter/main.go) to
  main.go; keep tmp_sweep.go.
- pr-pipeline + pr-review: source lives on the unmerged
  feat-graph-v2-contract-pr-review-formulas branch, not in this tree. Tag both
  containers #external and drop the in-tree source links so the guard resolves;
  keep containers/components/relationships/views intact. Re-add real links when
  those packs merge to main.
- spec.c4 / views.c4: add the #external tag (muted + dashed) and rename
  slack-pack labels/comments to slack-full.
- README.md: correct the stale Layout section (no `all/` rollup group dirs
  exist; non-pack dirs are architecture/docs/scripts/tests support tooling).
- check-links.mjs: revert f9b70a5 — restore process.exit(1) on dead links so
  the drift guard hard-gates again.

Gates: node architecture/site/check-links.mjs exits 0 ("All architecture model
source links resolve"); reintroducing a dead link exits 1; npx likec4 export
json validates the model with the new tag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 12, 2026 11:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the architecture documentation/model to eliminate accumulated drift and re-enables the drift/dead-link guard as a blocking check, ensuring the published LikeC4 model stays in sync with the repository.

Changes:

  • Updates the architecture model/views/spec to reflect the current pack naming and introduces an #external tag for modelled-but-not-in-tree elements.
  • Re-arms the architecture “dead source link” guard to fail CI on broken links instead of emitting non-blocking warnings.
  • Clarifies repo layout guidance in the root README to distinguish packs from repo-support tooling.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
README.md Clarifies which top-level directories are importable packs vs repo-support tooling.
architecture/views.c4 Updates styling to include #external and completes slack-pack→slack-full wording in view titles/comments.
architecture/spec.c4 Documents and defines the new #external tag in the model legend/spec.
architecture/site/check-links.mjs Makes the dead-link guard blocking again (non-zero exit on missing links).
architecture/model.c4 Updates the architecture model links/naming (slack-full) and marks external packs while removing in-tree links for them.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants