feat: Ravenline narrative — drive history, versioned enrollment, Foxholm department#9
Conversation
…llment, Foxholm department The demo retro's biggest finding was that nothing ever happened in Ravenline — entity pages read as an empty spreadsheet without narration. This round gives the seed a history, entirely as vanilla YAML/annotations. The spine is the module-update loop: the aspect registry now pins the security module at 1.4, enrolled components record what they adopted in a new siliconsaga.org/aspect-versions annotation, and past grafts keep their PR in siliconsaga.org/graft-record (.example hosts mark the links as fiction; both annotation shapes are tentative until the scorecard engine consumes them). The version gap is what the dependency-scanning drive exists to close, and each component's tier now has a stated reason: shipping-orchestrator grafted in May and green, carrier-gateway stuck on a pre-paved-road 1.2 enrollment, intake-scanner one release behind on a legacy build image. label-service stays pristine as the live-graft target. Foxholm joins as the second department (returns-logistics, acquired 2026): one team, one engineer who crosses into the security gildi, and two components — refund-service as the practice-reuse success (same standard, same guild, zero new documents) and intake-scanner as the drive's remaining laggard. The acquisition framing explains the maturity gap; the single Group tree keeps future compliance rollups shared. Astrid's mid-run Saga narrates the tally while its Cycle is still open — a Saga type the seed didn't demonstrate before. The tour (demo-visir) gains the story beats and verify-checklist entries, and smoke-catalog grows to thirteen lookups asserting the department, the versioned enrollment, and the drive Saga's relations (29 checks passing). Also sweeps the six remaining "portal door"/"runs the portal" phrasings in the seed to Create-page-door wording, per the terminology scrub. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe mock Ravenline catalog now includes Foxholm, returns-logistics services, versioned Security aspect adoption, and a dependency-scanning Cycle with a mid-run Saga. Documentation and smoke checks describe and validate the expanded entities, annotations, ownership, and relations. ChangesRavenline catalog expansion
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant CatalogFixtures
participant CatalogIngestion
participant SmokeCatalog
CatalogFixtures->>CatalogIngestion: defines Foxholm, components, Cycle, and Saga
CatalogIngestion->>SmokeCatalog: exposes entities and relations
SmokeCatalog->>CatalogIngestion: polls for expected entities
SmokeCatalog->>SmokeCatalog: validates annotations, ownership, kind, and dependsOn
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@examples/mock-org/README.md`:
- Around line 7-15: Update the security-gildi member list in the README to
include Dagny alongside Astrid and Leif, keeping the surrounding organization
and guild descriptions unchanged.
In `@examples/mock-org/sagas/dependency-scanning-drive.md`:
- Line 13: The named services total two green and two lagging, so revise the
tally in examples/mock-org/sagas/dependency-scanning-drive.md at line 13 to “two
of four enrolled services green, two to go.” Update the corresponding “three of
five green” wording in docs/demo-visir.md at line 50 to match.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 8dd76ce6-ca22-4aa4-9004-53b8816b8262
📒 Files selected for processing (13)
docs/demo-visir.mdexamples/mock-org/README.mdexamples/mock-org/cycles.yamlexamples/mock-org/guildhall/aspects.yamlexamples/mock-org/org.yamlexamples/mock-org/repos/security-aspect/SKILL.mdexamples/mock-org/repos/security-aspect/catalog-info.yamlexamples/mock-org/repos/security-aspect/docs/index.mdexamples/mock-org/repos/security-aspect/template.yamlexamples/mock-org/repos/tracking-api/catalog-info.yamlexamples/mock-org/sagas/dependency-scanning-drive.mdexamples/mock-org/software.yamlscripts/smoke-catalog.sh
…README guild roster CodeRabbit round on #9. The README guild roster predated Dagny's cross-department membership — added. The Saga tally kept its "three of five" (tracking-api is the fifth enrolled service and was silver before the drive opened) but now names all three green services inline, so an attendee counting named services arrives at the same number the tally claims. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Adds narrative “history” metadata to the Ravenline demo org by introducing version-pinned aspect enrollment, a second department (Foxholm), and a mid-run drive Saga, with updated smoke checks and wording cleanup.
Changes:
- Introduce
siliconsaga.org/aspect-versions+siliconsaga.org/graft-recordannotations and pin the security aspect registry to module version1.4. - Add Foxholm department/entities and a drive Saga (
saga-dependency-scanning-drive) with Git-backed body. - Expand
smoke-catalogassertions and update “portal door” phrasing to “Create-page door”.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/smoke-catalog.sh | Adds Foxholm + drive Saga lookups and validates new narrative assertions in the smoke catalog script. |
| examples/mock-org/software.yaml | Adds versioned enrollment + graft record annotations and introduces Foxholm systems/components. |
| examples/mock-org/sagas/dependency-scanning-drive.md | Adds the mid-run drive Saga body document. |
| examples/mock-org/repos/tracking-api/catalog-info.yaml | Records adopted security module version via siliconsaga.org/aspect-versions. |
| examples/mock-org/repos/security-aspect/template.yaml | Updates wording to “Create-page” front door. |
| examples/mock-org/repos/security-aspect/docs/index.md | Updates wording for the graft entry to “Create-page door”. |
| examples/mock-org/repos/security-aspect/catalog-info.yaml | Updates link title wording to “Create-page door”. |
| examples/mock-org/repos/security-aspect/SKILL.md | Updates description wording to “Create-page door”. |
| examples/mock-org/org.yaml | Adds Foxholm department/team and cross-department guild membership; updates Freya description. |
| examples/mock-org/guildhall/aspects.yaml | Pins security aspect registry to version 1.4 and documents version gap meaning. |
| examples/mock-org/cycles.yaml | Updates drive Cycle description and adds drive Saga entity referencing the new doc. |
| examples/mock-org/README.md | Extends narrative documentation to include Foxholm and versioned enrollment loop. |
| docs/demo-visir.md | Updates demo checklist + tour beats to include Foxholm and the drive Saga. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…imeline phrasings Copilot round on #9, all four accepted. The smoke's deadline comment overclaimed — the deadline is checked once per iteration, so a fully wedged catalog can overshoot by up to one iteration (~65s); the comment now says so instead of promising a hard bound, which is honest and cheaper than per-request deadline math for a smoke. The thirteen placeholder inits split across three lines for scanability. Two timeline phrasings tightened: shipping-orchestrator "reached silver" (was ambiguous about when), and the drive Saga's byline reads as an explicit May–July range. Smoke re-verified 29/29 after the init reformat. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
examples/mock-org/sagas/dependency-scanning-drive.md (1)
9-9: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winAlign the Saga’s touched entities with this narrative.
This paragraph identifies
refund-serviceas a participant, butexamples/mock-org/cycles.yamlomitscomponent:default/refund-servicefromsaga-dependency-scanning-drive.spec.touches. Add that relation so catalog consumers see the same participants documented here.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@examples/mock-org/sagas/dependency-scanning-drive.md` at line 9, Add component:default/refund-service to the saga-dependency-scanning-drive.spec.touches list in cycles.yaml so the Saga’s touched entities match the narrative and catalog consumers recognize refund-service as a participant.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@examples/mock-org/sagas/dependency-scanning-drive.md`:
- Line 9: Add component:default/refund-service to the
saga-dependency-scanning-drive.spec.touches list in cycles.yaml so the Saga’s
touched entities match the narrative and catalog consumers recognize
refund-service as a participant.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: da08dfde-8eb6-4a7e-9045-c7663bacd79d
📒 Files selected for processing (3)
examples/mock-org/sagas/dependency-scanning-drive.mdexamples/mock-org/software.yamlscripts/smoke-catalog.sh
Summary
siliconsaga.org/aspect-versionsannotation, and past grafts keep their PR insiliconsaga.org/graft-record(.examplehosts; both shapes tentative until the scorecard engine consumes them). The version gap is what thedependency-scanning-drivecloses, and every tier now has a stated reason.refund-serviceas the practice-reuse success andintake-scanneras the drive's remaining laggard. Single Group tree keeps future rollups shared.saga-dependency-scanning-drive+ Git-backed body) — a Saga narrating a Cycle still in flight, a type the seed didn't demonstrate.label-servicestays pristine as the live-graft target.smoke-catalogto thirteen lookups asserting the department, the versioned enrollment, and the drive Saga's relations.Test plan
make smoke-catalog— 29/29 checks passing on the branch, zero catalog errors for the seeds.make ci) green on the PR.Related
docs/plans/2026-07-10-guilds-skills-standards-design.md; narrative direction from the demo retro (2026-07-16/17).