Skip to content

feat: establish Squad Core, Charter, and draft specification suite (#2069) - #2074

Merged
bradygaster merged 15 commits into
devfrom
bradygaster-2069-squad-artifact-spec
Oct 2, 2026
Merged

bradygaster merged 15 commits into
devfrom
bradygaster-2069-squad-artifact-spec

Conversation

@bradygaster

@bradygaster bradygaster commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #2069

Combined review

This is the single combined review for the Squad specification work and supersedes #2078. It preserves the executable Core + Charter foundation from #2074 and folds in #2078's broader draft specification suite with reviewable source-commit provenance.

No pull request is merged by this change. Issue #2069 remains open for the broader architectural program.

Claim boundaries

Claimable

  • Charter v0.1 capabilities: parse, validate, edit, legacy-consume, and runtime, backed by the portable manifest, manifest schema, fixtures, reference implementation, and exact SHA-256 specification/evidence revision bindings.
  • Core v0.1 rules exercised by Charter: shared terminology, path containment, profile selection, representation, extension, diagnostics, versioning, and trust-boundary rules used by Charter. Core has no standalone capability or conformance claim.

Non-claimable requirements drafts

Governance, Team/Routing, Coordination/Handoff, Work Lifecycle, GitHub lifecycle binding, Interoperability, Configuration/Casting, Execution Preferences, Planning/Activation, Ceremony, Automation, State/Memory, and the other future-profile material remain non-claimable.

Governance relational checks are explicitly TypeScript reference-implementation checks, not portable normative evidence. A future executable governance profile requires language-neutral relational invariants and portable cases.

Consolidation scope

This intentionally combines the two dependent PRs into one coherent review:

  • 42 changed files against dev
  • 0 deleted files
  • no unrelated paths or new corrective files
  • inherited product, fixture, schema, test, documentation, changeset, and lockfile changes remain together because the broader suite depends on the Core + Charter foundation

This is the user-authorized exception to the repository's normal >20-file guidance. The latest contract revision modifies nine existing specification, schema, fixture, and test files only; it adds no profile, dependency, or unrelated path.

Contract revision

Charter claims now bind two immutable, independently reproducible revisions even while suite publication metadata remains null:

  • specification: sha256:bac80dbac473cac35824ffdf0d7e219a96945f7e82b00c24936e8e707bd5b9e6 over the exact Charter Markdown bytes
  • evidence: sha256:1f09c1954e056ea2072e3c79e286869790ae69751cba0ca4cfd58fd2fa0a92bb over the RFC 8785 canonical manifest with only the top-level revision member omitted

The Charter manifest schema and suite index schema reject missing, mutable, malformed, or unsupported bindings. The human registry and machine index are semantically cross-checked for Charter identity, maturity, class, dependencies, capabilities, manifest/schema, and revision evidence.

Source provenance

The branch was rebuilt on current dev while preserving the seven logical source commits and recording their original SHAs:

  • d21ab99fa90c9df315b2897123f74231d12c1656 — Core + Charter foundation
  • ab80da18087b7d37755db2c3cc5880d194a10f52 — portable Charter conformance
  • f7d430a78e38dc00496f1799d76398df0f2a4884 — Charter conformance gate
  • 71634fde5ce288868fa2ff00ddfcb8dc7c58d3ee — Charter manifest schema
  • c03ba950fde071c8ec58a64504fdb7b5cf1206ef — draft specification suite
  • f5ced9d051a727457df807f7ed49cb6271f9aef0 — publication-claim revision
  • 3a7fb5391975486eebc91bfecb5a624f425bbc6d — suite contract revision

All rewritten and follow-up commit references use Part of #2069, so merging this PR will not close the epic. The review follow-ups are 37bdf7a7 (claim-boundary alignment) and dd4565a4 (immutable revision binding).

Current combined head: dd4565a482d1d0e88d2065c325eaaa5e2810edf6

Validation

Targeted

  • npx vitest run test/specification-suite.test.ts test/charter-spec.test.ts test/charter-compiler.test.ts — 84/84 passed
  • SDK and CLI builds — passed
  • npm run lint — passed
  • npm run lint:eslint — 0 errors; repository baseline warnings only
  • npm run lint:docs — markdownlint and cspell passed across 200 files
  • npm run docs:build — passed; existing TypeDoc warnings only
  • all specification JSON parsed with jq empty
  • git diff --check — passed
  • deletion audit — zero deletions

Full

  • SKIP_BUILD_BUMP=1 npm run build — passed without version or lockfile drift
  • candidate full suite — 9,577 passed; 7 failed; 24 skipped; 47 todo
  • frozen dev baseline — 9,537 passed; 9 failed; 24 skipped; 47 todo
  • all seven candidate failures reproduce on frozen dev; no consolidation-specific full-suite regression was identified

GitHub checks

All current-head checks for dd4565a482d1d0e88d2065c325eaaa5e2810edf6 completed successfully. The replacement Squad CI run passed gh-aw strict compile, Changeset Drift, changes, Shebang EOL, docs-quality, Policy Gates, samples-build, sdk-exports-validation, and test. Repo Health, Impact Analysis, and both readiness runs also passed; Scope Boundary was intentionally skipped by its path filter. Earlier cancelled jobs were superseded by these successful replacements for the same head.

Review notes

Copilot AI lite review requested due to automatic review settings September 24, 2026 19:59
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

🟠 Impact Analysis — PR #2074

Risk tier: 🟠 HIGH

📊 Summary

Metric Count
Files changed 43
Files added 32
Files modified 11
Files deleted 0
Modules touched 4
Critical files 2

🎯 Risk Factors

  • 43 files changed (21-50 → HIGH)
  • 4 modules touched (2-4 → MEDIUM)
  • Critical files touched: package.json, packages/squad-sdk/src/agents/index.ts

📦 Modules Affected

docs (16 files)
  • docs/specification/README.md
  • docs/specification/artifact-inventory.md
  • docs/specification/automation-v0.1.md
  • docs/specification/ceremony-v0.1.md
  • docs/specification/charter-v0.1.md
  • docs/specification/configuration-casting-v0.1.md
  • docs/specification/coordination-handoff-v0.1.md
  • docs/specification/core-v0.1.md
  • docs/specification/execution-preferences-v0.1.md
  • docs/specification/github-work-lifecycle-binding-v0.1.md
  • docs/specification/governance-review-v0.1.md
  • docs/specification/interoperability-conventions-v0.1.md
  • docs/specification/planning-activation-v0.1.md
  • docs/specification/state-memory-requirements-v0.1.md
  • docs/specification/team-routing-v0.1.md
  • docs/specification/work-lifecycle-v0.1.md
root (15 files)
  • .changeset/formalize-charter-profile.md
  • .gitattributes
  • package-lock.json
  • package.json
  • test-fixtures/spec/charter-v0.1/legacy/template-style.md
  • test-fixtures/spec/charter-v0.1/manifest.json
  • test-fixtures/spec/charter-v0.1/manifest.schema.json
  • test-fixtures/spec/charter-v0.1/negative/invalid-behavior.md
  • test-fixtures/spec/charter-v0.1/positive/canonical.md
  • test-fixtures/spec/charter-v0.1/round-trip/extensions.edited.md
  • test-fixtures/spec/charter-v0.1/round-trip/extensions.md
  • test-fixtures/spec/suite-v0.1/evidence.schema.json
  • test-fixtures/spec/suite-v0.1/governance-rejection.example.json
  • test-fixtures/spec/suite-v0.1/index.json
  • test-fixtures/spec/suite-v0.1/index.schema.json
squad-sdk (8 files)
  • packages/squad-sdk/CHANGELOG.md
  • packages/squad-sdk/src/agents/charter-compiler.ts
  • packages/squad-sdk/src/agents/charter-markdown.ts
  • packages/squad-sdk/src/agents/charter-validator.ts
  • packages/squad-sdk/src/agents/index.ts
  • packages/squad-sdk/src/parsers.ts
  • packages/squad-sdk/src/state/io/charter-io.ts
  • packages/squad-sdk/src/types.ts
tests (4 files)
  • test/charter-compiler.test.ts
  • test/charter-spec.test.ts
  • test/config-integration.test.ts
  • test/specification-suite.test.ts

⚠️ Critical Files

  • package.json
  • packages/squad-sdk/src/agents/index.ts

This report is generated automatically for every PR. See #733 for details.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit be95930

PR Scope: 📦🔧 Mixed (product + infrastructure)

⚠️ 2 item(s) to address before review

Status Check Details
❌ Single commit 15 commits — consider squashing before review
✅ Not in draft Ready for review
✅ Branch up to date Up to date with dev
❌ Copilot review No Copilot review yet — it may still be processing
✅ Changeset present Changeset file found
✅ Scope clean No .squad/ or docs/proposals/ files
✅ No merge conflicts No merge conflicts
✅ Copilot threads resolved 2 active Copilot thread(s) resolved (2 outdated skipped)
✅ CI passing All checks passing

Files Changed (43 files, +8306 −176)

File +/−
.changeset/formalize-charter-profile.md +5 −0
.gitattributes +4 −1
docs/specification/README.md +169 −0
docs/specification/artifact-inventory.md +144 −0
docs/specification/automation-v0.1.md +88 −0
docs/specification/ceremony-v0.1.md +159 −0
docs/specification/charter-v0.1.md +404 −0
docs/specification/configuration-casting-v0.1.md +124 −0
docs/specification/coordination-handoff-v0.1.md +87 −0
docs/specification/core-v0.1.md +219 −0
docs/specification/execution-preferences-v0.1.md +102 −0
docs/specification/github-work-lifecycle-binding-v0.1.md +194 −0
docs/specification/governance-review-v0.1.md +162 −0
docs/specification/interoperability-conventions-v0.1.md +196 −0
docs/specification/planning-activation-v0.1.md +109 −0
docs/specification/state-memory-requirements-v0.1.md +99 −0
docs/specification/team-routing-v0.1.md +117 −0
docs/specification/work-lifecycle-v0.1.md +125 −0
package-lock.json +41 −44
package.json +2 −1
packages/squad-sdk/CHANGELOG.md +14 −0
packages/squad-sdk/src/agents/charter-compiler.ts +290 −93
packages/squad-sdk/src/agents/charter-markdown.ts +234 −0
packages/squad-sdk/src/agents/charter-validator.ts +579 −0
packages/squad-sdk/src/agents/index.ts +33 −0
packages/squad-sdk/src/parsers.ts +31 −0
packages/squad-sdk/src/state/io/charter-io.ts +92 −21
packages/squad-sdk/src/types.ts +10 −0
test-fixtures/spec/charter-v0.1/legacy/template-style.md +21 −0
test-fixtures/spec/charter-v0.1/manifest.json +1292 −0
test-fixtures/spec/charter-v0.1/manifest.schema.json +610 −0
test-fixtures/spec/charter-v0.1/negative/invalid-behavior.md +19 −0
test-fixtures/spec/charter-v0.1/positive/canonical.md +19 −0
test-fixtures/spec/charter-v0.1/round-trip/extensions.edited.md +54 −0
test-fixtures/spec/charter-v0.1/round-trip/extensions.md +50 −0
test-fixtures/spec/suite-v0.1/evidence.schema.json +468 −0
test-fixtures/spec/suite-v0.1/governance-rejection.example.json +66 −0
test-fixtures/spec/suite-v0.1/index.json +320 −0
test-fixtures/spec/suite-v0.1/index.schema.json +272 −0
test/charter-compiler.test.ts +16 −4
test/charter-spec.test.ts +614 −0
test/config-integration.test.ts +5 −12
test/specification-suite.test.ts +647 −0

Total: +8306 −176


This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.

@bradygaster bradygaster added type:feature New capability squad:architect Assigned to architect (Lead Architect) labels Sep 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved moderate issues affect extension isolation, validation coverage, and canonical/extension-preserving serialization.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 4 Medium severity

Open (4)
What changed in this PR

Formalizes the Squad core and squad-charter/v0.1 profile with SDK validation, parsing, serialization, fixtures, and documentation.

Changes:

  • Adds core/profile specifications and artifact roadmap.
  • Adds validator diagnostics, canonical/legacy parsing, and preference serialization.
  • Adds conformance fixtures, tests, public exports, and an SDK changeset.
File Reviewed change
test/​charter-spec.test.ts Charter conformance and round-trip tests
test-fixtures/​spec/​charter-v0.1/​round-trip/​extensions.md Extension round-trip fixture
test-fixtures/​spec/​charter-v0.1/​positive/​canonical.md Canonical positive fixture
test-fixtures/​spec/​charter-v0.1/​negative/​invalid-behavior.md Invalid behavior fixture
test-fixtures/​spec/​charter-v0.1/​manifest.json Fixture manifest
test-fixtures/​spec/​charter-v0.1/​legacy/​template-style.md Legacy compatibility fixture
packages/​squad-sdk/​src/​types.ts Public validator types
packages/​squad-sdk/​src/​state/​io/​charter-io.ts Charter serialization; canonical headings and unknown extensions require preservation fixes
packages/​squad-sdk/​src/​parsers.ts Parser API exports
packages/​squad-sdk/​src/​agents/​index.ts Agent API exports
packages/​squad-sdk/​src/​agents/​charter-validator.ts Charter validation; fenced headings, duplicate fields, and path identity checks require fixes
packages/​squad-sdk/​src/​agents/​charter-compiler.ts Charter parsing; fenced heading isolation requires a fix
docs/​specification/​README.md Specification index
docs/​specification/​core-v0.1.md Core specification
docs/​specification/​charter-v0.1.md Charter profile specification
docs/​specification/​artifact-inventory.md Artifact inventory and roadmap
.changeset/​formalize-charter-profile.md SDK minor changeset

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@bradygaster
bradygaster force-pushed the bradygaster-2069-squad-artifact-spec branch 2 times, most recently from e8b4d02 to d21ab99 Compare September 24, 2026 22:02
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

🏗️ Architectural Review

Authoritative evidence: base-controlled pull_request_target reporter.

⚠️ Architectural review: 1 warning(s).

Severity Category Finding Files
🟡 warning sweeping-refactor This PR touches 43 files (43 modified/added, 0 deleted). Large PRs are harder to review — consider splitting if possible. —

Automated architectural review — informational only.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

🔒 Security Review

Authoritative evidence: base-controlled pull_request_target reporter.

🔒 Security review: 1 info.

Severity Category Finding Location
ℹ️ info new-dependency 1 new/changed dependency version(s) in package.json. Verify these packages are trusted and necessary. package.json:54

Automated security review — informational only.

bradygaster and others added 8 commits September 28, 2026 09:31
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

fix: complete charter profile conformance

Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

docs: remove specification trailing whitespace

Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Source-Commit: d21ab99
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Source-Commit: ab80da1
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Source-Commit: f7d430a
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Source-Commit: 71634fd
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit c03ba95)
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit f5ced9d)
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 3a7fb53)
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@bradygaster
bradygaster force-pushed the bradygaster-2069-squad-artifact-spec branch from 71634fd to 37bdf7a Compare September 28, 2026 16:40
@bradygaster bradygaster changed the title feat: formalize Squad charter profile (#2069) feat: establish Squad Core, Charter, and draft specification suite (#2069) Sep 28, 2026
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Sorry for putting all of this in one comment instead of commenting on each line. I'm sending this from my phone :)

I had some difficulty reading this file. I think part of it is the terminology and part is that I'm not sure the current inventory covers all the Squad concepts we have today.

A few thoughts/questions:

  • Do we need the promotion roadmap here? I understand the idea, but I'm not sure it adds much beyond the status/maturity information in the table.
  • "Repository evidence" was confusing to me as a column name. Same for "Disposition". Maybe something like "Implementation / artifacts" and "Spec status" would be easier to understand.
  • Related to that, entries like "agents/{id}/charter.md, compiler, validator, fixtures" are hard to follow. I understand the path, but what exactly are compiler, validator and fixtures here? Are these specific files/components? If they are evidence, maybe we should link to the actual implementation.
  • I'm also wondering if the table structure itself can be simplified. Maybe: Capability | Implementation / artifacts | Spec coverage | Status | What's missing.
  • Do we cover SubSquads / workstreams anywhere? This feels like a first class Squad concept that should appear in the inventory.
  • Does Spec Kit itself have a spec we can look at for comparison? I'm curious how they structure this.
  • We have portable export/import, but what about creating a Squad from a preset/template? To me these are different capabilities: moving an existing Squad vs using a reusable definition to create one.
  • I think we're also missing some of the multi-Squad concepts: upstreams, Squad registry and discovery, cross-Squad communication/delegation, and potentially spawning/creating another Squad.
  • Related to that, should SubSquads be treated separately from cross-Squad communication? They have different semantics even though both involve more than one team/squad.

This also made me wonder about a bigger question: are we specifying a single Squad, or the model for how Squads can compose and interact? With SubSquads, upstreams, registry/discovery and cross-Squad communication, I think that distinction matters.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed the bounded inventory/scope concerns in 24ebb90 (current integrated head: 171a102).

The inventory now uses Capability, Implementation / artifacts, Spec status, Spec coverage, and What's missing; distinguishes Squad-root artifact paths from repository implementation links; and links the Charter compiler, validator, fixture manifest, ceremony builder/templates, scheduler, and relevant CLI implementations. Separate informative entries cover preset/template instantiation, SubSquads/workstreams, upstream inheritance, peer registry/discovery, cross-Squad communication/delegation, and creation/spawning. Presets are explicitly distinct from full export/import, SubSquads from independent peers, and discovery-only registration from inheritance. The README and inventory explicitly say this is a working inventory, not a complete specification of Squad composition; the new entries confer no normative claims. Autonomous creation/spawning remains a scope gap rather than an implementation claim.

The promotion roadmap remains informative, and a Spec Kit comparison is deferred rather than made a prerequisite of this draft. No multi-Squad schema or runtime behavior was added.

Validation after normally merging current dev: npm test -- test/docs-build.test.ts test/docs-links.test.ts test/charter-spec.test.ts test/charter-compiler.test.ts test/config-integration.test.ts test/specification-suite.test.ts passed all 173 tests; npm run lint:docs and npm run build with SKIP_BUILD_BUMP=1 passed. Fresh CI is starting for the updated head. Does this bounded scope clarification address the concern for merging the working draft, with the identified gaps retained as promotion work? Leaving this thread open for your disposition.

Auto-resolved by the GitHub Copilot app.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

  • should the charter have its schema/profile version inside the file? I'm thinking about what happens when we have v0.2/v1/etc., or when a charter is copied/exported and no longer has the original surrounding context. A self-describing artifact feels useful here, but maybe there is a reason we intentionally don't want that.

  • In the canonical document shape, I think we may be missing some things that exist in Squad today. Is that intentional because we're trying to keep the portable charter smaller than the full Squad charter?

  • One thing I was thinking about is execution identity. For example, should there be a way to explicitly say which managed identity/service identity this agent is intended to use after compilation? I see that authorization is intentionally outside this profile, so maybe it belongs somewhere else, but I think we should at least decide where execution identity lives.

  • Similar question about tools. Should tool/capability declarations be part of the charter, or are those intentionally runtime/configuration concerns outside the charter? Again, I think making that boundary explicit would help.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Clarified these boundaries in informative Charter §13.1 in 24ebb90 (current integrated head: 171a102), without changing the normative document shape or runtime behavior.

§3 already explicitly selects the profile through the API or accompanying manifest, requires selection for portable conformance (SQC014 when missing), and states that v0.1 has no embedded marker. §13.1 now explains that a copied charter still needs that context and that an embedded marker is a future profile-design question. The smaller portable charter is intentional, not a complete product configuration.

Authenticated execution principals belong to trusted runtime configuration/provider bindings, separate from charter display/path identity. Tool declarations belong to runtime/config integration, with a link to the existing agent configuration; §11 independently enforces availability and authorization. The suite explicitly does not yet define a portable principal-binding or tool-declaration schema. Interop authority requirements are related design work, not implemented bindings; opaque extensions cannot establish authenticated identity or grants.

The Charter document digest was refreshed in both the conformance manifest and suite index; behavioral fixtures, evidence payload, capabilities, and maturity are unchanged. The combined docs/Charter/spec validation passed all 173 tests; build (SKIP_BUILD_BUMP=1), type-check, docs lint, and all 54 SDK subpath imports passed. Does this explicit boundary address your concerns for the v0.1 working draft, while leaving self-description and portable binding schemas for future design? Leaving this thread open for your disposition.

Auto-resolved by the GitHub Copilot app.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not sure this is enough yet to describe the ceremony capabilities we have in Squad today.

Right now it feels more like a spec for the ceremony execution lifecycle than a spec for ceremonies themselves. We have triggers, participants, cooldown, execution records, state transitions, etc., which are important, but I think we should look again at the actual ceremony capabilities we support and make sure the model represents them.

One thing in particular is scheduling. We already did work around scheduling and "schedule.json". Rather than defining scheduling again specifically for ceremonies, should ceremonies reference the common scheduling model? A ceremony could define what should happen, participants, inputs/outputs, conditions, etc., while the scheduling spec defines when/how it is triggered. That could also let us reuse the same scheduling model for things other than ceremonies.

I also didn't really understand section 5, "Candidate operations and roles":

"ceremony.consume", "ceremony.evaluate", "ceremony.facilitate", and "ceremony.record"

What does "candidate" mean here? Candidate to become part of the normative API later? And what exactly does each operation do? For example, what does "consume" consume and what does "evaluate" return? Who calls these operations? If these are intended to eventually become an interoperable ceremony API, I think we need to explain the contract around them, not only list their names.

I think it may also help to separate three concepts more clearly:

  1. Ceremony definition: what the ceremony is, participants/roles, agenda/process, inputs, expected outputs, conditions, etc.
  2. Trigger/scheduling: when it should run and what causes it to run. Ideally reusing the common scheduling model where possible.
  3. Ceremony execution: claim, facilitator, state transitions, cooldown, concurrency/idempotency, recording decisions/actions and completion.

The current spec seems strongest on #3. I'm not sure #1 and #2 capture everything we already have today.

I would also compare this against our current "ceremonies.md", SDK "defineCeremony()", templates/plugins, and scheduling work before we lock the v0.1 model. Ceremonies are one of the extensibility primitives in Squad, so I think it's worth making sure the spec doesn't accidentally define a smaller concept than the one the product already has.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed the draft-model clarity concerns in 24ebb90 (current integrated head: 171a102). The Ceremony document remains a non-normative, non-claimable requirements draft.

§1 now explicitly separates definition, shared trigger/scheduling, and execution, and says the draft does not completely specify today's extensibility surface. §2.1 links and compares defineCeremony(), current config, Markdown template/reference, agenda/process, and hook/enforcement metadata; it records unresolved conversion and plugin/template mapping instead of implying coverage. §2.2 references the shared Automation schedule.json model and actual scheduler/CLI, keeps cron/time/retry concerns out of the ceremony definition, and identifies the still-unproven binding from builder/Markdown timing to common scheduled tasks.

§5 now calls the four candidate names non-contract placeholders—not SDK APIs or claimable capabilities—and describes intended caller/input/result for each. Exact types, authorization, order, failures, and atomicity remain explicitly unresolved. Promotion criteria now require complete definition mappings, shared scheduling binding, and replacement/removal of placeholders with versioned operation contracts. No scheduling engine, hook execution, runtime lifecycle, or normative API was added.

After normal integration with current dev, the docs build/link, Charter/compiler/config, and specification suites passed all 173 tests; docs lint and npm run build (SKIP_BUILD_BUMP=1) also passed. Does this appropriately bound the requirements draft for merge without prematurely locking a smaller ceremony API? Leaving this thread open for your disposition.

Auto-resolved by the GitHub Copilot app.

brady gaster and others added 6 commits October 2, 2026 12:37
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Part of #2069

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve Charter AJV dependency and specification digest bindings. Part of #2069.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@bradygaster
bradygaster merged commit ccb5442 into dev Oct 2, 2026
17 checks passed
@bradygaster
bradygaster deleted the bradygaster-2069-squad-artifact-spec branch October 3, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

squad:architect Assigned to architect (Lead Architect) type:feature New capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants