spec: foundational workspace-runtime-contract (descriptive-first, no code changes)#149
Draft
jonesrussell wants to merge 18 commits into
Draft
spec: foundational workspace-runtime-contract (descriptive-first, no code changes)#149jonesrussell wants to merge 18 commits into
jonesrussell wants to merge 18 commits into
Conversation
Auto-committed by spec-kitty before creating the lane worktree for WP01
Auto-committed by spec-kitty before creating the lane worktree for WP02
Add openspec_change_id and source_description to mission meta.json, binding kitty-specs/workspace-runtime-contract-01KRC8WY to openspec/changes/add-workspace-runtime-contract.
Member
|
Thanks for paying attention! Not entirely sure what much of this means. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracking: #150
Summary
Establishes
workspace-runtime-contractas the foundational Spec Kitty / OpenSpec specification forcoder-ddev. Descriptive-first: codifies the nine runtime invariants already enforced today byimage/Dockerfile,user-defined-web/template.tf, and the inlinedstartup_script. No image, template, script, or Makefile changes.add-workspace-runtime-contractworkspace-runtime-contract-01KRC8WYThis PR is a draft — please review the spec text before marking ready.
What's in this PR
openspec/changes/add-workspace-runtime-contract/specs/workspace-runtime/spec.mdkitty-specs/workspace-runtime-contract-01KRC8WY/The delta spec adds nine
ADDED Requirementscovering:--privileged)coder, UID 1000, parametric docker GID)dockerdlifecycle (agent-started, no host socket mount)/home/coder-filesddev-routerglobally)null_resource.workspace_cleanupPlus the required agent boot sequence and a forbidden-behavior set (F-1 … F-10) capturing what the contract explicitly disallows.
Known Drift (informational, not remediated here)
The spec carries a
## Known Driftblock enumerating six anomalies (global_config.yamlmissing, uncopied DDEV host commands, missingchmod 755oncoder-setup, dualdockerd-start models, broad socketchmod, single-tag image version). Each will become its own follow-up OpenSpec change attached to the relevant invariant.Why descriptive-first
This is the first spec in
openspec/specs/(none have been archived before). Trying to prescribe behavior before capturing current behavior would create gratuitous drift. By describing what already works, every future change has a stable, verifiable anchor.Non-Goals
image/,*/template.tf,*/scripts/, orMakefile.CLAUDE.mdreconciliation (follows in a separate change after archive).freeformtemplate coverage (separate sibling capability later).Validation
openspec validate add-workspace-runtime-contract --strict— greenkitty-specs/workspace-runtime-contract-01KRC8WY/andopenspec/changes/add-workspace-runtime-contract/terraform fmt -recursive— N/A (no HCL touched; defensive run not performed because terraform was unavailable in the dev environment)Test plan
## ADDED Requirementsfor accuracy against currentimage/Dockerfile+user-defined-web/template.tf+ inlinedstartup_script#### Scenario:## Known Driftblock accurately names the six anomalies and points at the right fileskitty-specs/.../meta.json(openspec_change_id) and inopenspec/changes/add-workspace-runtime-contract/proposal.md("Spec Kitty Mission")openspec validate add-workspace-runtime-contract --strictre-run locallyterraform fmt -check -recursivere-run locally (expected: zero changes)Follow-ups (not in scope here)
remediate-ddev-global-config— fix drift D-1.install-ddev-host-commands— fix drift D-2.chmod-ddev-host-commands— fix drift D-3.retire-systemd-dockerd— fix drift D-4 (remove the dormant systemd path).tighten-docker-socket-mode— fix drift D-5.claude-md-reconciliation— retire architecture prose now superseded by this spec.🤖 Generated with Claude Code