Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions crates/msft-agent-gov-ledgrrr/SPEC.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# msft-agent-gov-ledgrrr β€” Spec-Driven Development

> **Status**: Phase 1 complete β€” core governance gate wired.
> **Status**: Phase 3 complete β€” hardening, lifecycle, security scanner, and capability bridge wired.
> **Scope**: AGT integration contract, gap analysis, upstream proposals, and phased improvement roadmap.

---
Expand Down Expand Up @@ -275,17 +275,17 @@ The remaining gaps (1–3, 5–8, 11–12) are addressable on the ledgrrr side w
- [x] 4-tier ring model mapped to `CommitGate`
- [x] 7 unit tests covering allow/deny/approval/sandbox/admin/audit/DID

### Phase 2 β€” Hardening (Gaps 1, 2, 8, 11, 12)
### Phase 2 (done) β€” Hardening (Gaps 1, 2, 8, 11, 12)

**Target**: Before Hermes agent mesh goes live.

| Task | Gap | API change |
|------|-----|------------|
| Wire `CredentialRedactor` into audit pipeline | 1 | internal only |
| Add `quarantine_agent` / `decommission_agent` | 2 | new public methods |
| `with_policy_path` constructor | 8 | new constructor |
| Ring + trust persistence via `TrustConfig.persist_path` + JSON sidecar | 11 | new constructor param |
| Replace `trust_score(did)` with `trust_score_for_agent(id)` | 12 | API rename (non-breaking β€” add new, deprecate old) |
| Task | Gap | API change | Status |
|------|-----|------------|--------|
| Wire `CredentialRedactor` into audit pipeline | 1 | internal only | βœ… done |
| Add `quarantine_agent` / `decommission_agent` | 2 | new public methods | βœ… done |
| `with_policy_path` constructor | 8 | new constructor | βœ… done |
| Ring + trust persistence via `TrustConfig.persist_path` + JSON sidecar | 11 | new constructor param | βœ… done |
| Replace `trust_score(did)` with `trust_score_for_agent(id)` | 12 | API rename (non-breaking β€” add new, deprecate old) | βœ… done |

**New public API after Phase 2**:
```rust
Expand All @@ -311,15 +311,15 @@ pub fn check_tool_call_with_tx(
) -> ToolCallDecision;
```

### Phase 3 β€” Security scanner + multi-agent (Gaps 3, 9, 10)
### Phase 3 (done) β€” Security scanner + multi-agent (Gaps 3, 9, 10)

**Target**: When Hermes sub-agents are spawned from `b00t-iface`.

| Task | Gap | Dependency |
|------|-----|------------|
| Wire `McpSecurityScanner` with PUBLISHED_TOOL_NAMES baseline | 3 | Phase 2 done |
| Upstream `fork_sub_agent` (or local workaround) | 9 | Upstream PR #3.1 |
| `check_tool_call_with_tx` correlation IDs | 10 | Phase 2 `check_tool_call_with_tx` |
| Task | Gap | Dependency | Status |
|------|-----|------------|--------|
| Wire `McpSecurityScanner` with PUBLISHED_TOOL_NAMES baseline | 3 | Phase 2 done | βœ… done |
| Upstream `fork_sub_agent` (or local workaround) | 9 | Upstream PR #3.1 | βœ… done (local workaround) |
| `check_tool_call_with_tx` correlation IDs | 10 | Phase 2 `check_tool_call_with_tx` | βœ… done |

**`CapabilityBridge`** β€” new module `crates/msft-agent-gov-ledgrrr/src/capability_bridge.rs`:
```rust
Expand Down
Loading