Skip to content

docs(pages): document edge refusals in a working copy and check-move - #822

Merged
aicayzer merged 1 commit into
mainfrom
docs/edge-refusals-offline
Nov 2, 2026
Merged

aicayzer merged 1 commit into
mainfrom
docs/edge-refusals-offline

Conversation

@aicayzer

@aicayzer aicayzer commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Docs issue #815: from Marfa v0.0.58 (withmarfa/marfa#2629) a working copy refuses an edge write the instance would refuse as a duplicate or for cardinality before it queues anything, in the instance's order, and marfa device edges check-move checks a move. Neither was on any page; edge writes through marfa device had no section at all.

Closes #815.

Changes

  • New guide, Build > Write edges in a working copy (/build/edges-in-a-working-copy): creating and moving edges with marfa device edges, the five refusals in the instance's order with their codes and details.constraint, what the copy counts (waiting writes, deletes, refused writes, the moved edge, an ID repeat), what it leaves to the instance, and edges check and edges check-move. A separate page because the section took Write in a working copy past its 1,500-word limit.
  • Build > Write in a working copy: a short "Write edges" section pointing to the new guide; the create section links its edges there.
  • Reference > Errors: what details.constraint says on edge_constraint_violation (duplicate, cardinality), that an idempotent writer can treat duplicate as success, and that a working copy gives the same code and details before queueing.

Left alone: the Swift SDK pages. withmarfa/marfa-swift#445, which carries the Swift side (#819), is not merged and marfa-swift main still pins v0.0.56, so the published Swift SDK's edges.check still judges only ends, nesting, the bin and a cycle, as the page says.

Testing

pnpm test passes (890 of 890, with the sandbox's injected GITHUB_TOKEN unset for sync-changelog.test.ts, which otherwise sees the proxy's header). The new guide's command and options are in the synced command tree.

Notes for reviewers

Checked against marfa v0.0.58: queue-and-verdicts/edge-* statements (endpoint, nesting, bin, duplicate, cardinality, counted-as-sent, refusal-order, cycle, judged-held, move-always-refused, edge-check), core/marfa-cli/COMMANDS.md, the check-move handler in device.rs (prints {"refused": false} under --json) and the refusal envelope in error.rs (exit 1, details under error.server.details). #815 says a device refusal carries no details.constraint; the contract and the CLI at v0.0.58 both carry it (as #819 notes), so the pages say it does.

Checklist

  • Pages follow STYLE.md and stay within their word limits
  • No generated file edited
  • No private detail committed

Generated by Claude Code

@aicayzer
aicayzer enabled auto-merge November 2, 2026 18:43
@aicayzer
aicayzer merged commit c77b5fa into main Nov 2, 2026
8 checks passed
@aicayzer
aicayzer deleted the docs/edge-refusals-offline branch November 2, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Working copies refuse duplicate and cardinality-breaking edge writes, and check moves

2 participants