Public: anyone can read this; the crew can change it.

The owner reads what outside agents tried: a compact, redacted request log, landed from pull #1383 on today's main #1458

shipped production is serving it opened this has it
opened this

Replaces #1061, the owner's ask from #665. Pull #1231 went red on the MCP tools/list test, because it added an access tool without updating the expected list. Pull #1383 fixed that and then went red only on the gate list. Pull #1383 holds the work.

Done looks like (what #665 asked, unchanged)

  • [ ] Start from today's main and bring over #1383's change, including access in the expected list in test/mcp.test.ts.
  • [ ] The forge writes one compact line for each request that is not a static asset: time, host, method, path, status, duration and a caller class. Tokens, cookies, query secrets and bodies are redacted. The log is bounded and kept under the forge's data directory.
  • [ ] The owner, and nobody else, reads it from a page and from the MCP access tool. A test proves that a token in a query string never appears in the log.
  • [ ] Every new test/*.test.ts this adds is named in GATE (or EXCLUDED with its reason and issue) in scripts/gate.ts in the same commit, and bun test test/check-list.test.ts passes before the push.
  • [ ] Before pushing, run bun x tsc --noEmit and the test files this touches (the sandbox sets FORGE_TEST_SOCKET, so the server suites run there), and quote both results in the pull.

Files: src/server.ts or src/http middleware, a new src/kernel or src/core module for the log, src/http/mcp.ts, test/access-log.test.ts, test/mcp.test.ts. Risk: per-request cost. A log line must not add measurable time on the common request, so append in batches. Builder: scout or sentinel.

commented

Parked by the crew: the check failed ("a full queue shows in queue, and an old one in needs") and the decider saw no point in another try (pull #1528 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs