Skip to content

Commit 6f20087

Browse files
docs(changelog): workspace injection contract under Unreleased
Adds an entry to CHANGELOG.md '## [Unreleased]' summarizing the workspace-injection-contract work: entrypoint section 5.5, WorkspaceFiles Python helper, canonical docs/workspace.md + ADR-035, 12 new tests (7 integration + 5 unit), and the docs/issues/ convention. Notes the backwards-compat behavior, the deliberate choice to keep tool restrictions out of the workspace env-var contract, and the sibling agentic-domain-runner branch with the AGENTIC_WORKSPACE_* rename.
1 parent 7f3a36c commit 6f20087

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
### 🏗 Workspace Injection Contract (ADR-035)
13+
14+
A small, cross-orchestrator file-injection seam that any consumer of the workspace image (agentic-domain-runner, Syntropic137, future Codex/Gemini wrappers) can target.
15+
16+
#### Added
17+
18+
- **Workspace entrypoint section 5.5**`providers/workspaces/claude-cli/scripts/entrypoint.sh` now reads a read-only bind-mount at `/etc/agentic/workspace/` plus three optional env vars (`AGENTIC_WORKSPACE_CONTEXT`, `AGENTIC_WORKSPACE_PLUGINS`, `AGENTIC_WORKSPACE_AGENTS`) and copies content into the agent-visible workspace:
19+
- `CLAUDE.md``/workspace/CLAUDE.md` (chmod 600)
20+
- `plugins/<name>/``/workspace/.agentic-plugins/<name>/` + appends `--plugin-dir` flags to `AGENTIC_PLUGIN_FLAGS`
21+
- `agents/<name>.md``~/.claude/agents/<name>.md`
22+
- **`WorkspaceFiles` Python helper**`lib/python/agentic_isolation/agentic_isolation/workspace_files.py`. Exposes `bind_mount(host, ctr, read_only)` and `inject(container_id, ctr_path, content)` as the two complementary staging primitives. Library import only — no daemon. Exported from `agentic_isolation` package root.
23+
- **Canonical docs**: [`docs/workspace.md`](docs/workspace.md) describes the workspace's three responsibilities (inject / isolate / observe); [ADR-035](docs/adrs/035-workspace-injection-contract.md) captures the decision; `docs/superpowers/specs/` + `docs/superpowers/plans/` hold the design + implementation plan.
24+
- **7 integration tests** in `tests/integration/test_entrypoint_workspace_injection.py` covering CLAUDE.md copy, plugin copy + flag append, loose subagent copy, env filter, no-mount skip, invalid-plugin skip, plugin-flags append-not-replace.
25+
- **5 unit tests** for `WorkspaceFiles` (descriptor shape, relative-path resolution, `put_archive` call shape, ValueError on non-absolute / empty-basename `container_path`).
26+
- **docs/issues/** convention introduced — numbered enhancement / follow-up notes (003 cosmetic items captured).
27+
28+
#### Notes
29+
30+
- Backwards compatible: when `/etc/agentic/workspace/` isn't bind-mounted, section 5.5 is a silent no-op.
31+
- Tool restrictions live inside subagent frontmatter (`tools: [...]`) or plugin permission settings, NOT in a separate workspace-contract env var — see ADR-035 alternative #3.
32+
- Sibling consumer (the [agentic-domain-runner](https://gitea.neuralempowerment.xyz/HomeLab/agentic-domain-runner)) renames its `AGENTIC_DOMAIN_*` env vars to `AGENTIC_WORKSPACE_*` in a coordinated branch.
33+
34+
---
35+
1236
### 🎯 Agentic Prompts & Smart Sync
1337

1438
Major additions for prompt primitives and improved install workflow.

0 commit comments

Comments
 (0)