slot-isolation: port and database axes are mandatory — a services-free project cannot declare a valid parallel_dev recipe #62
Labels
No labels
component:adapters
component:lifecycle
component:qa
component:setup
component:shared
component:worktrees
phase/accepted
phase/backlog
phase/deployed
phase/developing
phase/integrating
phase/planning
phase/qa
phase/requirements
phase/uat
priority:critical
priority:critical
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:bug
type:chore
type:docs
type:feature
type:infra
type:tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jbr870/devwork-skills#62
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
parallel_dev:recipe schema (slot-isolation.md §1) treats only the container axis asomittable ("omit it and the axis is 'not declared'"). The port and database axes are
mandatory:
slot-recipe-validate.shrefuses a recipe withoutport_scheme.base/blockanddatabase.name_template/main_db.A services-free project — no listeners, no databases — therefore cannot declare a valid slot
recipe at all, even though the worktree and container axes alone would serve it. It is forced to
either invent dummy port/DB values (recording identities that don't exist, which every later act
then dutifully "verifies") or abandon the slot machinery entirely.
Live case: devwork-skills itself (markdown+shell suite,
observability: mode: none, no runtimeservices) evaluated slots for its parallel-sessions setup on 2026-08-25 and had to route around the
skill — parallel sessions here now use Claude Code's built-in worktree flow instead (see CLAUDE.md
"Parallel sessions"). The skill lost a consumer to the schema, not to the concept.
Proposal
Make
port_scheme:anddatabase:omittable as whole blocks, mirroring the container axisexactly:
not-declared(terminal), other axes still provision, report carriesports: not declared/database: not declaredlines.still refuse loudly naming the dotted path).
not-declaredfor the container axis; extend the same handling.Lane
Full pipeline — validator behaviour (
slot-recipe-validate.sh), the slot engines' axis handling,and the normative schema in
slot-isolation.mdall change together.Recurrence evidence (2026-08-25, parallel-wave-1, session devwork-43): with the repo now
running harness-native worktrees (
git worktree listshows linked worktrees),readiness-check.mdconditionally requires a
parallel_dev:declaration — which this repo deliberately cannot andshould not write (nothing to provision; parallel sessions use the harness flow per CLAUDE.md
"Parallel sessions"). So the schema gap now also manifests as a standing readiness nag on any
project that parallelizes via bare worktrees. Whatever shape the fix takes (omittable axes per this
issue's proposal, or a readiness carve-out for the harness-native flow), it should silence that nag
for provisioning-free projects rather than teach them to declare dummy axes.