Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/deed/issues.md or /mcp/deed/issues.json, or Pod over MCP.

Reported issues for Deed

Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to Deed.

Most discussed

The handshake tells an agent to check and stops, and it never ran a test

Measured, off the transcript of the one real model run (gpt-5.6-luna, six tasks, seventy tool calls):

tool calls
deed_check 65
deed_explain 4
deed_fix 1
deed_test 0
deed_run 0
deed_fmt 0

Six tasks, every one of them scored on whether its tests pass, and the model never ran a test. Not once. It got 5/6 passing by writing them correctly rather than by ever checking.

That is not the model being lazy. I

Read the thread · 2026-08-01 · closed · 1 comment

The agent surface runs the tests a program was written with, not the ones its contracts generate

deed test runs two things: the test blocks, and the properties generated from contracts. deed_wasm::test_source, which is what the playground and deed mcp call, runs only the first. It does not import run_properties.

That is not only fewer answers, it can be the opposite answer. This program is the CLEAN fixture in crates/deed-mcp/smoke.py, near enough:

module smoke

fn twice(n: Int) -> Int
  where
    n > 0,
  ensures
    ok  => result > n,
{
    n + n
}


[Read the thread](https://github.com/deed-lang/deed/issues/827) · 2026-08-01 · closed · 0 comments

### The wasm surface runs a program without asking whether it checked

The wasm surface runs a program before asking whether it checked, and it answers "no tests" with silence. Both matter more now that `deed mcp` is the thing agents talk to: the same server uses silence to mean "well formed" in `deed_check`.

Measured, all three through `deed_wasm` directly:

test_source("module main\n\nfn f() -> Int { 1 }\n") -> ""

test_source("module main\n\nfn f() -> Int { nonesuch }\n\ntest "t" { assert 1 == 1 }\n") -> {"kind":"test","name":"t","passed":tru

Read the thread · 2026-08-01 · closed · 0 comments

Nothing checks that deed mcp can hold a session with a real MCP client

deed mcp has 27 tests and every one of them speaks to the server directly. That checks the protocol we think we implemented, not the one clients actually implement, and those are different things until something proves otherwise.

I pointed the reference MCP client at it today for the first time. It works: the handshake completes, instructions arrives, all six tools list with the argument names they should have, deed_check returns its obligation lines and deed_explain returns a page. S

Read the thread · 2026-07-31 · closed · 0 comments

The compiler has no door an agent can walk through

The compiler answers a person at a terminal, a person in an editor, and a person in a browser. It does not answer the reader design/00-motivation.md says most code is now written for.

design/00-motivation.md opens with the claim everything else here rests on: most of the code being written today is not typed out by a person, and that changes which costs matter. Every surface built since then was built for a person anyway. An agent that wants to know whether a Deed program is well for

Read the thread · 2026-07-31 · closed · 0 comments

MIR: design handler dispatch representation based on the resumability answer

Design the MIR shape for handler installation and operation dispatch, based on the previous issue's finding.

Part of #469.

Read the thread · 2026-07-30 · closed · 0 comments

Scaffold deed-rt runtime support crate

New crate for what compiled code calls at runtime (list/string helpers, sandbox checks, contract-failure formatting). Empty for now; deed-interp's sandbox.rs moves in or gets shared later.

Part of #469.

Read the thread · 2026-07-30 · closed · 0 comments

The tier is always visible, except where the reader is

design/02-syntax.md promises "contracts are handled in three tiers, and the tier is always visible", and says how: deed check reports which tier each obligation landed in. That is true of a terminal and false of the place a reader is.

I grepped the whole deed-lsp crate for obligation|Tier|precondition|contract|ensures|requires. One match, and it is a comment: "The whole thesis of the language is that the signature is the contract." The server says the thesis and answers nothing abou

Read the thread · 2026-07-28 · closed · 0 comments

Most recent

The remaining reports are on the project's issue tracker.