feat(fogclaw): add PII access request backlog#2
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add threat model entry for PII held in backlog memory, update data sensitivity guidance, and document new audit event types for the access request lifecycle. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces three new tools for managing PII access requests: - fogclaw_request_access: agent submits request for redacted data - fogclaw_requests: list/filter backlog by status - fogclaw_resolve: approve/deny/follow-up with batch support Adds RedactionMapStore to capture hook redaction mappings and BacklogStore for session-scoped request lifecycle management. Includes maxPendingRequests config (default 50), audit logging for request events, and comprehensive test coverage (48 new tests). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update plan with completed progress, evidence, and living sections. All 21 progress items done. 213 tests passing, 0 type errors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add maxMappings constructor parameter (default 10000) to prevent unbounded PII accumulation in memory. Oldest entries are evicted when the cap is exceeded. Review findings consolidated in plan, medium/low findings routed to tech-debt tracker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All 5 verification gates pass: 215/215 tests, 0 type errors, architecture invariants verified, review gate clear, rollback documented and feasible. Decision: GO. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add missing ## Metrics, ## Traces, ## Health Checks, ## Agent Access headings required by he-docs-lint. Renamed existing sections to match the expected heading contract. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…canning spec Fix pre-existing he-specs-lint failure: spec was missing required ## Rollout and ## Validation and Acceptance Signals headings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
fogclaw_request_access, users review viafogclaw_requests, and resolve viafogclaw_resolveRedactionMapStore(FIFO eviction, max 10k entries) andBacklogStore(configurablemaxPendingRequests, default 50)Artifacts
docs/specs/2026-02-17-feat-pii-access-request-backlog-spec.mddocs/plans/active/2026-02-17-feat-pii-access-request-backlog-plan.mdChanges
src/backlog.tsRedactionMapStore(FIFO eviction) +BacklogStore(request lifecycle)src/backlog-tools.tssrc/types.tsRequestStatus,AccessRequest,maxPendingRequestssrc/config.tsmaxPendingRequestsdefault + validationsrc/index.tssrc/tool-result-handler.tsRedactionMapStore, capture mappingssrc/message-sending-handler.tstests/backlog.test.tstests/backlog-tools.test.tstests/plugin-smoke.test.tsopenclaw.plugin.jsonmaxPendingRequestsschema + UI hintsfogclaw.config.example.jsonmaxPendingRequests: 50docs/SECURITY.mddocs/OBSERVABILITY.mdEvidence
Test plan
npm testpasses (215 tests)npx tsc --noEmitclean🤖 Generated with Claude Code