• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dangernoodle-io / ouroboros / 29163838890
92%

Build:
DEFAULT BRANCH: main
Ran 11 Jul 2026 06:39PM UTC
Jobs 1
Files 70
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Jul 2026 06:38PM UTC coverage: 89.867% (+0.1%) from 89.742%
29163838890

push

github

web-flow
feat: add mcpkit-typed backlog write tool on the dark server (OU-3) (#136)

Adds the backlog write tool (entries[] mixed create/update batch, or
delete_ids[] batch delete) as a mcpkit Capability (backlogCapability)
composed onto the existing dark buildServerV2. Reuses the type-neutral
app-layer helpers (resolveEpicRef, validateEpicTx, linkEdgesTx,
resolveProject, parsePriority) and the data layer (backlog.AddItemTx/
UpdateItemTx/DeleteItems/GetItem, edges.*) directly -- only the
map-reading bits (parseEdgeSpecs, scalarStringArg) get typed
replacements (buildEdgeSpecsV2 over typed Edges []edgeInput, *string
fields for component/epic). The old handleBacklog and its tests are
untouched and remain live -- deleted at cutover.

- entries[]/delete_ids[] are both non-schema-required (omitempty) so an
  omitted key reaches the handler's own "one of" check instead of
  failing schema validation, preserving the verbatim
  "delete_ids or entries is required" message (same pattern as OU-1/
  OU-2's domain/entries fields), covered by a new wire test
- the entries[] batch reproduces the #132 single-transaction write
  exactly: one shared tx, inline per-entry validate+write, any error
  rolls back the whole batch; all reads during the batch
  (resolveProject/GetItem/validateEpicTx) run on tx, never db, per the
  store's SetMaxOpenConns(1) deadlock-avoidance constraint
- the #133 "$N" epic back-reference is reproduced via resolveEpicRef,
  with posMap populated immediately on update and after AddItemTx on
  create, matching every ordering/range/malformed rule and verbatim
  message
- silently-skip semantics preserved verbatim: a create entry missing
  project/priority/title is skipped (no error, no result); an update
  entry with no fields and no edges is skipped
- ACCEPTED DIVERGENCE: component/epic use typed *string fields, so a
  non-scalar value (e.g. a list) is rejected by go-sdk's decode with a
  generic message instead of the old verbatim "must be a single stri... (continued)

7095 of 7895 relevant lines covered (89.87%)

1.06 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29163838890.1 11 Jul 2026 06:39PM UTC 70
89.87
GitHub Action Run
Source Files on build 29163838890
  • Tree
  • List 70
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29163838890
  • 00957f48 on github
  • Prev Build on main (#29162922768)
  • Next Build on main (#29164516835)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc