didericis-codex
92518a43b5
docs: activate install script prd
lint / lint (push) Successful in 1m33s
test / unit (pull_request) Successful in 29s
test / integration (pull_request) Successful in 16s
2026-06-22 20:31:13 -04:00
didericis
e1e68b52d4
ci(prd): rename PRD to prd-new placeholder per new convention
2026-06-22 20:31:13 -04:00
didericis
c9a910f740
docs(prd): renumber PRD 0054 → 0057 (0054 slot taken by named-labelled-agents)
2026-06-22 20:31:13 -04:00
didericis
b71b8cf296
docs(prd): PRD 0054 - install script
2026-06-22 20:31:13 -04:00
didericis
7644da4280
docs: add Apple Container transparent egress spike
2026-06-10 22:36:55 -04:00
didericis
13e4af421d
docs: add Apple Container networking spike
2026-06-10 22:36:55 -04:00
github-actions[bot]
f2d5307573
ci(prd): assign sequential numbers to new PRDs
2026-06-11 02:36:07 +00:00
didericis
932e71c0bf
fix(macos-container): make backend the macos default
2026-06-10 22:25:00 -04:00
didericis
d3b0b330aa
fix(macos-container): preserve working builder dns
2026-06-10 22:25:00 -04:00
didericis
5e927bcd13
fix(macos-container): start builder with dns
2026-06-10 22:25:00 -04:00
didericis
890a146413
test(macos-container): add launch integration smoke
2026-06-10 22:25:00 -04:00
didericis-codex
eb7cae1fea
docs: link macos container prd to review comment
2026-06-10 22:25:00 -04:00
didericis-codex
fe82dc7f2b
feat: add macos container backend scaffold
2026-06-10 22:25:00 -04:00
didericis-codex
3f04567290
egress: require opt-in for HTTPS git fetch
test / unit (pull_request) Successful in 42s
test / integration (pull_request) Successful in 27s
lint / lint (push) Successful in 1m53s
test / unit (push) Successful in 41s
test / integration (push) Successful in 23s
Update Quality Badges / update-badges (push) Successful in 1m35s
2026-06-10 07:00:01 +00:00
didericis-codex
8ea90adcaf
fix: raise git http body cap
2026-06-10 06:29:46 +00:00
didericis
504144eb9c
fix(pi): prepare runtime state and agent workdir
lint / lint (push) Failing after 1m58s
test / unit (push) Successful in 41s
test / integration (push) Successful in 24s
Update Quality Badges / update-badges (push) Successful in 1m27s
2026-06-10 00:02:28 -04:00
didericis
598a20a3f0
fix(pi): keep interactive sessions open
lint / lint (push) Successful in 1m29s
test / unit (pull_request) Successful in 30s
test / integration (pull_request) Successful in 17s
2026-06-09 06:00:40 -04:00
didericis
c8b5ba3812
feat(pi): support egress injected api keys
lint / lint (push) Successful in 1m38s
test / unit (pull_request) Successful in 31s
test / integration (pull_request) Successful in 17s
2026-06-09 05:56:39 -04:00
didericis-codex
5ea9fda69b
docs: activate pi provider prd
lint / lint (push) Successful in 1m43s
test / unit (pull_request) Successful in 34s
test / integration (pull_request) Successful in 18s
2026-06-09 08:32:09 +00:00
didericis-codex
1f38a96561
docs: add pi provider prd
2026-06-09 08:23:00 +00:00
github-actions[bot]
f7f161e60f
ci(prd): assign sequential numbers to new PRDs
2026-06-09 03:37:10 +00:00
didericis-codex
17fc44d0d8
complete(prd): mark smolmachines default active
lint / lint (push) Successful in 1m46s
test / unit (pull_request) Successful in 41s
test / integration (pull_request) Successful in 22s
2026-06-09 03:27:58 +00:00
didericis-codex
1bebb7467f
feat(backend): default to smolmachines
2026-06-09 03:27:31 +00:00
didericis
aff042855a
ci(prd): rename PRD to prd-new placeholder per new convention
lint / lint (push) Successful in 1m47s
2026-06-08 23:10:09 -04:00
didericis
39b0c4f720
docs(prd): renumber PRD 0055 → 0058 (0055 slot taken by extended-outbound-scan)
2026-06-08 23:10:09 -04:00
didericis
43a5700ae6
docs(prd): PRD 0055 - promote smolmachines to default backend
2026-06-08 23:10:09 -04:00
github-actions[bot]
103f9adcfd
ci(prd): assign sequential numbers to new PRDs
2026-06-08 03:26:08 +00:00
didericis
652c8cb5a7
ci(prd): rename PRD to prd-new placeholder per new convention
test / unit (pull_request) Successful in 37s
test / integration (pull_request) Successful in 49s
lint / lint (push) Successful in 1m30s
prd-number / assign-numbers (push) Successful in 32s
test / unit (push) Successful in 31s
test / integration (push) Successful in 42s
Update Quality Badges / update-badges (push) Successful in 1m11s
2026-06-07 23:19:11 -04:00
didericis
11a8f3ba99
docs(prd): renumber PRD 0053 → 0055 (0053 slot claimed by user-provider-plugins)
2026-06-07 23:19:11 -04:00
didericis-claude
1ecef55fea
feat(dlp): websocket scanning, response headers, extended encoding variants, sk-proj pattern (PRD 0053)
2026-06-07 23:19:11 -04:00
didericis-claude
b1283a0e7b
feat(egress): extend outbound DLP scan to headers, query params, path, and hostname (PRD 0053)
2026-06-07 23:19:11 -04:00
didericis-claude
2c51bc47e8
docs(prd): PRD 0053 extended outbound DLP scan surfaces
2026-06-07 23:19:11 -04:00
github-actions[bot]
916b70c595
ci(prd): assign sequential numbers to new PRDs
2026-06-08 00:34:45 +00:00
didericis
8743299226
ci(prd): rename PRD to prd-new placeholder per new convention
lint / lint (push) Failing after 1m29s
test / unit (pull_request) Successful in 30s
test / integration (pull_request) Successful in 44s
2026-06-07 14:41:27 -04:00
didericis
205e94f960
docs(prd): renumber PRD 0053 → 0056 (0053 slot claimed by user-provider-plugins)
2026-06-07 14:41:27 -04:00
didericis
79212481c9
feat(egress): replace log bool with integer log levels (0/1/2)
...
Level 0 (off, default): no stderr output beyond boot line.
Level 1 (blocks): each block/warn emitted as JSON with reason and
request context (host, method, path, response_status for inbound).
Level 2 (full): level-1 events + egress_request and egress_response
JSON lines for every forwarded connection.
Block logging at level 1+ replaces the previous plain-text stderr write.
DLP warn logging is also gated on level 1+. All block call sites now pass
_req_ctx(flow) so the blocked request is visible in the log entry.
Boot message shows log level label (off/blocks/full).
Adds PRD 0053 documenting wire format, manifest format, and all log event
shapes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-07 14:41:27 -04:00
didericis
7ebddf7792
ci(prd): assign sequential numbers to new PRDs
...
prd-number / assign-numbers (push) Successful in 20s
prd-new-user-provider-plugins → 0053-user-provider-plugins
prd-new-named-labelled-agents → 0054-named-labelled-agents
Both PRDs ship with their implementations so Status flips Draft → Active.
Manual fix: the prd-number workflow did not fire on these merges.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-07 14:23:56 -04:00
didericis
f6f47c2f23
docs(prd): remove dashboard references, align with current codebase
...
- Dashboard no longer exists; remove all references to it
- Active agent display surface is cli list active, not a TUI pane
- Label/color rendered with ANSI escape codes in list output
- Modal called from cmd_start only, no supervisor _new_agent_flow
- Remove _format_agent_row/_color_pair_for curses design (list is
plain text); add _ansi_color() helper design instead
- Clarify slug-suffix caveat: modal appears before prepare() mints
the slug so default label falls back to agent_name
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-07 12:04:17 -04:00
didericis
39e0976ace
docs(prd): redesign label+color prompt as a curses modal window
...
lint / lint (push) Successful in 1m44s
- Single modal with two steps (label then color) instead of
bare text prompts dropped to terminal
- Default label is <agent_name>-<slug_suffix>; first keystroke
replaces the pre-fill rather than appending to it
- Color step shows a navigable list with live color preview;
(none) selected by default; Esc skips
- Modal lives in tui.py and is shared between supervisor flow
and cmd_start
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-07 12:01:11 -04:00
didericis
299579ab7b
ci(prd): rename PRD to prd-new placeholder per new convention
2026-06-07 11:59:53 -04:00
didericis
3a10c38511
docs(prd): renumber PRD 0051 → 0054 (0051 slot taken by launch-selector on main)
2026-06-07 11:59:53 -04:00
didericis-claude
db54f3d0b4
docs(prd): add PRD 0051 (named/labelled agents, renumbered from 0049)
2026-06-07 11:59:53 -04:00
didericis
65746af720
docs(prd): expand user-provider-plugins to cover Dockerfile convention and provisioning methods
2026-06-07 11:35:35 -04:00
didericis
d9e9d27e01
ci(prd): rename PRD to prd-new placeholder per new convention
2026-06-07 11:35:35 -04:00
didericis-claude
83351606c6
docs: bump PRD number from 0052 to 0053
...
Renames docs/prds/0052-user-provider-plugins.md to 0053-user-provider-plugins.md
and updates the heading inside the file. 0052 is now reserved for the egress
DLP addon.
2026-06-07 11:35:35 -04:00
didericis-claude
cf3310e818
docs: PRD 0052 — user-defined agent provider plugins
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-07 11:35:35 -04:00
didericis
965d5073c3
ci(prd): add prd-new placeholder convention and numbering workflow
...
Implements #213 : PRDs use prd-new-<slug>.md while a PR is open; a
post-merge workflow on main assigns sequential numbers and renames the
file. A required PR check blocks prd-new-*.md from landing on main
without going through the workflow.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-06 22:02:21 -04:00
didericis-claude
8c0a9c5bc6
docs: rename PRD 0053 to PRD 0052
...
Renames docs/prds/0053-egress-dlp-addon.md to 0052-egress-dlp-addon.md
and updates all references in the documentation.
2026-06-06 16:27:04 +00:00
didericis-claude
63a3b9b50a
docs: remove pipelock references from README, examples, and test docs
...
lint / lint (push) Successful in 1m27s
test / unit (push) Successful in 33s
test / integration (push) Successful in 46s
Update Quality Badges / update-badges (push) Successful in 1m8s
Pipelock was removed in PR #193 . Update the five remaining places
where current documentation (README, examples/bottles/claude.md,
tests/README.md, docs/ci.md, sidecar_bundle.py comment) still
described the old pipelock + cred-proxy topology.
2026-06-06 05:08:59 +00:00
didericis-claude
726713d081
feat(egress): implement PRD 0053 — DLP addon with Gateway API matches
...
lint / lint (push) Failing after 1m43s
test / unit (pull_request) Successful in 40s
test / integration (pull_request) Successful in 50s
Replace path_allowlist with Gateway API HTTPRoute match vocabulary
(paths, methods, headers with AND/OR semantics) and add DLP scanning
to the egress proxy:
- Token pattern detection (AWS, GitHub, Anthropic, OpenAI, Stripe, JWT)
- Known secret detection (EGRESS_TOKEN_* with base64/URL/hex variants)
- Naive prompt injection detection (disclosure + credential, jailbreak)
- Per-route DLP configuration via manifest dlp block
- Inbound response scanning with block/warn severity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 19:53:23 +00:00