Summary
Upgrade the canonical sc-just package at packages/sc-just so it becomes the recommended just integration layer for the Phase B reporting/runtime system in sc-compose.
sc-compose should own the reporting engine and CLI/runtime commands. sc-just should own the recommended Justfile surface, bootstrap flow, and scaffold layout that call into sc-compose.
Canonical Split
sc-compose owns
- report catalog loading and validation
- source collection and
render-many
- shared template-family resolution
- latest/archive output handling
- report verification and index/summary commands
- publish-manifest generation
- typed diagram-spec support
sc-just owns
- recommended
Justfile recipe surface
- recipe scaffolding and bootstrap flow
- repo-facing command layout
- standard TODO markers showing what the consumer repo must fill in
consumer repos own
- repo-specific
just lint, just test, and just smoke bodies
- repo-specific templates and source inputs
- repo-specific wrapper/publish commands
Required Design Rule
sc-just should use sc-compose for shared reporting behavior rather than reimplementing reporting logic in shell recipes.
That means:
sc-just calls sc-compose commands for report catalog/runtime behavior
sc-just scaffolds Justfile entries that point at sc-compose
- consumer repos fill in producer-specific command bodies where needed
Recommended Recipe Surface
lint:
@echo "repo-owned lint producer"
test:
@echo "repo-owned test producer"
smoke:
@echo "repo-owned smoke producer"
reports:
sc-compose reports index --catalog reports/catalog/reports.toml
reports-verify:
sc-compose reports verify --catalog reports/catalog/reports.toml
Optional repo-local helpers may exist, but they are not part of the shared contract:
just reports-open
just reports-clean
just reports-publish
Recommended Upgrades
1. Report Catalog Bootstrap
sc-just should scaffold:
reports/catalog/reports.toml
reports/latest/
reports/archive/
reports/templates/
The scaffold should assume sc-compose owns catalog parsing and validation.
2. Smoke Scaffold Fixtures
sc-just should generate a standard smoke scaffold shape:
- one reference smoke template fixture
- one
sample-vars.json fixture
- one wrapper entrypoint that the generated
just smoke target invokes
This keeps the smoke contract stable across repos while still leaving the actual repo-specific smoke command body consumer-owned.
3. Ownership Markers In Scaffold Output
Generated files should mark ownership explicitly:
sc-compose-owned contract calls
sc-just-owned scaffold structure
- consumer-owned command bodies and repo-local templates
This should be visible in generated comments or TODO markers.
4. reports And reports-verify Stubs
sc-just should scaffold the shared reporting commands as direct sc-compose invocations:
sc-compose reports index --catalog reports/catalog/reports.toml
sc-compose reports verify --catalog reports/catalog/reports.toml
The skill should not shell-duplicate catalog logic or verification semantics.
5. Backward-Compatibility Harness Hooks
sc-just should support a standard place for backward-compat checks that run through sc-compose, especially for:
- bundled example regressions
- migrated report-family regressions
- stable output-path expectations
6. Edge-Case Fixture Generation
sc-just should be able to scaffold fixtures that stress the reporting pipeline:
- nested includes
- missing optional fields
- extra unknown fields
- large variable payloads
- unusual whitespace
These belong in the scaffold because they are shared test-shape concerns, not repo-specific business logic.
7. Reference Repo Pattern
sc-compose should act as the reference repo showing how sc-just uses sc-compose commands, but sc-compose should not become a second source of truth for the skill itself.
The canonical package remains:
Context
This came out of the approved Phase B planning work in sc-compose, where the reporting/runtime system is being implemented in Rust and the recommended just integration pattern should live in the canonical sc-just package.
Summary
Upgrade the canonical
sc-justpackage atpackages/sc-justso it becomes the recommendedjustintegration layer for the Phase B reporting/runtime system insc-compose.sc-composeshould own the reporting engine and CLI/runtime commands.sc-justshould own the recommendedJustfilesurface, bootstrap flow, and scaffold layout that call intosc-compose.Canonical Split
sc-composeownsrender-manysc-justownsJustfilerecipe surfaceconsumer repos own
just lint,just test, andjust smokebodiesRequired Design Rule
sc-justshould usesc-composefor shared reporting behavior rather than reimplementing reporting logic in shell recipes.That means:
sc-justcallssc-composecommands for report catalog/runtime behaviorsc-justscaffoldsJustfileentries that point atsc-composeRecommended Recipe Surface
Optional repo-local helpers may exist, but they are not part of the shared contract:
just reports-openjust reports-cleanjust reports-publishRecommended Upgrades
1. Report Catalog Bootstrap
sc-justshould scaffold:reports/catalog/reports.tomlreports/latest/reports/archive/reports/templates/The scaffold should assume
sc-composeowns catalog parsing and validation.2. Smoke Scaffold Fixtures
sc-justshould generate a standard smoke scaffold shape:sample-vars.jsonfixturejust smoketarget invokesThis keeps the smoke contract stable across repos while still leaving the actual repo-specific smoke command body consumer-owned.
3. Ownership Markers In Scaffold Output
Generated files should mark ownership explicitly:
sc-compose-owned contract callssc-just-owned scaffold structureThis should be visible in generated comments or TODO markers.
4.
reportsAndreports-verifyStubssc-justshould scaffold the shared reporting commands as directsc-composeinvocations:sc-compose reports index --catalog reports/catalog/reports.tomlsc-compose reports verify --catalog reports/catalog/reports.tomlThe skill should not shell-duplicate catalog logic or verification semantics.
5. Backward-Compatibility Harness Hooks
sc-justshould support a standard place for backward-compat checks that run throughsc-compose, especially for:6. Edge-Case Fixture Generation
sc-justshould be able to scaffold fixtures that stress the reporting pipeline:These belong in the scaffold because they are shared test-shape concerns, not repo-specific business logic.
7. Reference Repo Pattern
sc-composeshould act as the reference repo showing howsc-justusessc-composecommands, butsc-composeshould not become a second source of truth for the skill itself.The canonical package remains:
packages/sc-justContext
This came out of the approved Phase B planning work in
sc-compose, where the reporting/runtime system is being implemented in Rust and the recommendedjustintegration pattern should live in the canonicalsc-justpackage.