Scott Holdings LLC
Design preview
GS

The pieces of this pack

Each row is one piece of the training binder for legal-practice-v1. Edit a piece, then release it through a new version.

What are these?

A pack is made of small, replaceable pieces. That’s what makes the layering work: when a builder or one of their customers wants something different, they replace just one piece — the rest of the pack, and every future upgrade, flows around it.

  • Prompt — the AI’s job description and tone of voice.
  • Routing rules — the traffic rules: which kind of question goes to which part of the system.
  • Glossary — the dictionary: industry words mapped to the real records and fields they refer to.
  • Worked examples — sample questions with the right handling shown, which the AI learns the pattern from.
  • Guardrail — the never-do list.
  • Action set — actions the AI is allowed to offer here (offering is not permission — access is checked separately).
  • Lane preference — which model in the fleet handles which job.

All pieces

Editing opens the piece’s content in a drawer.

NameKindApplies toStateChanged
system-promptPrompteverywhereActiveJul 22
router-configRouting ruleseverywhereActiveJul 22
glossary-mattersGlossaryrecordsActiveJul 25
glossary-billingGlossarybillingActiveJul 25
exemplars-routingWorked exampleseverywhereActiveJul 28
guardrail-complianceGuardraileverywhereActiveJul 28
lane-defaultsLane preferenceeverywhereActiveJul 22
glossary-legacyGlossaryrecordsRetiredJun 30
7 active · 1 retiredRelease these changes

Good to know

Placeholders
{tenant_name} {app_name} {today} … fill in automatically at answer time
Editing is safe
Nothing customers see changes until you release a new version — and that version must pass the tests first
Retiring a piece
Marks it inactive; it drops out of the next release. Nothing is ever hard-deleted
Behind this page/templates/harnesses/:harnessPackKey/components · catalog publisher

Retrieve

sp_GetHarnessPack returns the component rows with type, target feature, and payload.

Save

sp_UpsertHarnessComponent — rerun-safe upsert by (pack, key); deactivate is @IsActive = 0, never a delete.

Success

  • Nothing changes published behavior until sp_SnapshotHarnessPack + a gated publish.
  • Deactivated components drop from the next snapshot; publish soft-deactivates absentees.
  • Invalid JSON is rejected in the editor before any proc call.

CLI handoff

Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.

Page IDharness-components
Route/templates/harnesses/:harnessPackKey/components
Accesscatalog publisher
Statuscatalog-schema-ready-content-not-seeded

Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.