Skip to content

PDS v5.0.0 — modernization: security perimeter + swarm retrofit (#159) - #160

Open
rmzi wants to merge 1 commit into
mainfrom
update-latest
Open

PDS v5.0.0 — modernization: security perimeter + swarm retrofit (#159)#160
rmzi wants to merge 1 commit into
mainfrom
update-latest

Conversation

@rmzi

@rmzi rmzi commented Jul 17, 2026

Copy link
Copy Markdown
Owner

The v5.0.0 modernization PR for #159 — PDS retrofitted onto current Claude Code (baseline drifted ~12 weeks / ~93 CC versions). Big-bang single PR; breaking changes allowed. In progress — not all zones landed; see #159 for the live plan and the full zone map.

Landed on this branch

Security perimeter (Zone 4, partial)

  • 9 dead credential Write() deny rules → Edit() (912ec66). CC honours only Edit(path) for file permission checks; the Write() forms had been silent no-ops since f4cd05a — read-protected but write-exposed. Enforcement proven behaviourally.
  • mcp__* removed from permissions.allow (912ec66) — wildcard tool names are rejected; it was a no-op emitting a startup warning.
  • security-baseline preset (dd1c6f1, 5fb86d6) — 58-rule credential perimeter as a shipped preset, discoverable + default-on, so it reaches users who never run install.sh. Committed UNVERIFIED (presets resolve from the plugin cache, not the repo) — behavioural verification owed.
  • Armed protected_branches: [main] in examples/config.yaml (shipped empty → /pds:finish guard never fired).

Swarm retrofit onto implicit-team semantics (Zone 1, P0) — 3d4cde9

CC removed TeamCreate/TeamDelete at v2.1.178; agent teams are now implicit per-session. Swept ~65 references across the live surface (orchestrator agent, /pds:swarm, /pds:team, hooks, settings, whitepaper/architecture/teams/proposal docs). Teardown gate stubbed pending a re-home decision. Enduring docs state the durable guarantee only; migration notes live in code + the tracker. Dated history (CHANGELOG, swarm-reports, conversations, ADR) left intact.

Planned / in flight (tracked on #159)

  • Zone 0 — empty spawn-registry is environmental (CC 2.1.212); teams env var ruled out. No PDS/side3 code fix; documented as a runtime condition.
  • Git enablement — allow all git/gh actions (perimeter preserved), plus a SessionStart preflight so PDS refuses to proceed without git (git is the substrate).
  • Issue-driven state machine — move the swarm state machine off machine-local files onto the GitHub issue as a portable source of truth (state-store abstraction; location/compression must not affect the ability to work). Whitepaper-level.
  • Zones 3, 5, 6, 7 — hooks modernization, native delegation, whitepaper/AgentOps, release plumbing (VERSION → 5.0.0).

Version intentionally held at 4.22.0 until Zone 7. CHANGELOG [Unreleased] accumulates.

Refs #159

@rmzi rmzi changed the title fix(security): correct 9 dead Write() deny rules, remove mcp__* no-op PDS v5.0.0 — modernization: security perimeter + swarm retrofit (#159) Jul 17, 2026
@rmzi

rmzi commented Jul 21, 2026

Copy link
Copy Markdown
Owner Author

⏸ Parked — do not drive to completion until #161 lands

Pivot to a whitepaper-first, first-principles rebuild (see #159 and #161). This branch is set down, not abandoned — the security perimeter fixes and the Zone 1 implicit-team retrofit stay committed here.

Do not merge or extend this PR until the rebuilt spec (#161) lands. At that point: re-baseline this work against the new whitepaper, and decide whether the live-exposure security commits get cherry-picked to land ahead independently.

@rmzi

rmzi commented Jul 21, 2026

Copy link
Copy Markdown
Owner Author

@claude what do you think of this PR overall?

…e/TeamDelete

Claude Code removed TeamCreate/TeamDelete at v2.1.178. Agent teams are now
implicit per-session: one team, formed on the first spawn, session-derived
name, team_name accepted-but-ignored. PDS referenced the removed tools in
~65 places; this sweep corrects the 10 live files and leaves dated history
(CHANGELOG entries, swarm-reports, conversations, ADR) untouched.

Live surface:
- agents/orchestrator.md — drop TeamCreate/TeamDelete from tools; remove the
  dead TeamDelete PreToolUse matcher; dispatch/knowledge phases rewritten for
  implicit teams (shutdown -> team dissolves at session end).
- hooks/scripts/orchestrator-teardown-gate.sh — stubbed. Its blockable trigger
  (TeamDelete) is gone; the check logic is preserved and the header documents
  that the gate must re-home onto a Stop-based gate or fold into the PR gate.
  TODO(#159, Zone 1) — decision deferred.
- skills/swarm/SKILL.md, skills/team/SKILL.md — runbook updated; teardown is
  drain-shutdowns-then-session-end.
- .claude/settings.json — SessionStart context string corrected.
- docs/{whitepaper,architecture,teams,proposal,claude-code-source-analysis}.md
  — refs corrected. Enduring docs (whitepaper/architecture/teams/proposal)
  state only the durable guarantee; migration/#159/re-homing notes live in
  code comments, the swarm runbook, and the tracker — not in the whitepaper.

Implicit-team mechanics grounded in research Deliverable A (context.md), not
reconstructed. Zero imperative TeamCreate/TeamDelete refs remain; residuals
are past-tense "removed at v2.1.178" explanations. Not exercised end-to-end —
dispatch is blocked by the global empty-registry condition (see #159).

Refs #159

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

This review may be incomplete: some analysis steps could not run due to a temporary API capacity limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant