Project Configuration
syntaxis/config.json holds workflow policy that belongs to you, in a
format the skills themselves can read. Every skill checks its relevant
settings before it acts.
The line it can’t cross
Section titled “The line it can’t cross”Configuration is free to make review and verification stricter, and it can tune branch names and how far automation is allowed to go on its own.
It can never grant permission to commit, merge, push, deploy, publish, send anything, delete data, wave off a failing check, or accept a finding. Those approvals sit outside what configuration is allowed to touch, by design.
What ships by default
Section titled “What ships by default”{ "schemaVersion": 1, "workflow": { "stepReview": "feature", "checkpointCommits": "disabled" }, "git": { "featureBranchPrefix": "feature/", "fixBranchPrefix": "fix/", "rollbackBranchPrefix": "rollback/" }, "verification": { "logicTests": "when-configured", "uiEvidence": "when-available" }, "review": { "independentExecution": "automatic" }, "qualityGates": { "regular": { "audit": "manual", "independentReview": "when-sensitive", "check": "manual", "tryGuide": "manual" }, "continuous": { "audit": "manual", "independentReview": "when-sensitive", "check": "manual", "tryGuide": "manual" } }, "continuous": { "maxFeatures": null, "maxRepairAttempts": 2, "finalIntegrationAudit": false }}No file at all just means the built-in defaults apply. An invalid file
still lets read-only status fall back to those defaults, but anything that
would actually mutate the workflow stops and points you at
/doctor instead of guessing what you meant.
How often review actually happens
Section titled “How often review actually happens”stepReview |
What that looks like |
|---|---|
feature (default) |
One review packet, once every step is done |
every |
A pause for review after each individual step |
Onboarding presents this choice as Efficient versus Guided, but all
it’s actually storing is these two low-level settings. Pair every with
checkpointCommits: enabled for the most hands-on version of the loop.
Cadence only governs when you’re asked to approve something — it has nothing to do with whether you can ask for an explanation afterward. Either style ends with an optional, read-only code walkthrough.
The quality gates
Section titled “The quality gates”qualityGates.regular governs the normal workflow plus Autopilot.
qualityGates.continuous governs Continuous Mode specifically.
| Mode | What triggers it |
|---|---|
manual |
Nothing automatic — only when you ask |
always |
Every single work item in that workflow |
when-sensitive |
Sensitive or unusually broad work (audit, independent review) |
when-behavioral |
Work with an observable behavior change (check) |
when-user-facing |
Anything user-facing (guides) |
Independent review ships set to when-sensitive, so it kicks in on its own
for sensitive work while leaving small, ordinary features alone. Switch it
to manual to turn off that automatic trigger — /audit independent current still works as an explicit request either way.
How independent review actually executes
Section titled “How independent review actually executes”review.independentExecution decides how a selected review runs — not
whether one gets selected in the first place.
| Value | What happens |
|---|---|
automatic (default) |
A fresh, isolated reviewer child, whenever the adapter can prove isolation, exact reviewer identity, model, and completion |
manual |
Always hand off through a fresh session instead |
When automatic execution isn’t actually supported, it drops back to the manual handoff rather than letting review get skipped outright. That automatic reviewer is a generic child of the current runtime, told what to do only by the project’s own installed Audit skill and review contract — no global agent role or outside framework gets required or discovered along the way.
Verification settings
Section titled “Verification settings”| Setting | Values |
|---|---|
verification.logicTests |
when-configured, required |
verification.uiEvidence |
when-available, required |
Limits inside Continuous Mode
Section titled “Limits inside Continuous Mode”| Setting | What it controls |
|---|---|
continuous.maxFeatures |
Caps how many items run in one pass; null means run to the end of the plan |
continuous.maxRepairAttempts |
Caps how many repair attempts one feature gets |
continuous.finalIntegrationAudit |
Runs one integration audit at the very end |
After you change something
Section titled “After you change something”Run /doctor. It flags schema problems and any
drift between what’s configured and what the project is actually doing.