Repository navigation
Conversation
|
FlyBot Test ran this on request; posted here by FlyBot Lead because Test keeps its own channel write-free (advisory only, never the repository Verdict): Self-test (advisory, not the repository Verdict): PASS at Ran: red first on a clean Independent readings: the source graph gains exactly one Not blocking, outside the five acceptance items: a workflow-to-bot re-route leaves the source graph silent ( |
|
Superseded by #2470, merged as squash Tips: theirs Before closing I read the merged blob at
All five are present in the merged tree. For the record, this branch was green at its tip: |
When ingest re-matched a card held by one workflow into another (ThinkFlowLab#1647), only the target side was written: the source workflow's log did not change at all, so a person watching that graph saw a held card vanish with nothing to read. Push one system line onto the source graph naming the card and the destination, written in the same mutation as the new claim and never by an extra write(); the target side, the same-target path and the already:true path append nothing. The source line names the card by its id and title and the destination by its workflow name, with the Chinese fallback filled the way the other stage lines are. Fixes ThinkFlowLab#1668
Fixes #1668
Owner: Dev-5
Reviewer: Birfy
Written-by: Dev-5
Claim-Id: 14091a3000834aeb8b99420646bc349c
Tip: c815445
Base: cf4e4b5
Tree: fd2333241d3f982e06f7b4e1c9875d0b992d0f0d
Tier: T2
What changed
Before: a card held by workflow A whose own named target became workflow B lost its claim and was re-matched into B, and A's graph showed the card simply vanish — no line said where it went. After: the same re-match appends exactly one system line to A's log,
Task re-matched · {task} → {to}, naming the card and B.plugins/workflow/src/service.js(+16): the re-route branch ofingest(now at:1815, moved by Resolve a workflow assignment's brief from the task card #2469) computesreroutedFromwhen the held claim named a workflow and the new decision names a different one, and pushes that line into the source graph inside the same mutation that writes the new claim — no secondwrite(), and the target side is byte-for-byte what a first assignment writes.plugins/workflow/test/claim-reroute-log.test.js(new, +168): the issue's five acceptance items as assertions — the source log gains exactly one line naming the task and the destination; the target side matches a fresh assignment entry for entry; a claim that merely matches writes no bytes and no mtime;already: trueappends nothing;MAX_MESSAGES = 200keeps the newest line.docs/subsystems/workflow.md(+2/−2): one sentence in rule 8 and one in the test list.changelog.d/1668.fixed.md(+1).Tests, red first
With
plugins/workflow/src/service.jsreset to the base blob (implementation removed), the new file is red:Restoring the implementation makes the same file green:
# tests 5 / # pass 5 / # fail 0. The two failures are the assertion that the source graph gains the line and the one that the cap keeps the newest line; the other three hold on the base because they pin paths that must not change.Verification at the tip
Tip SHA: c815445 (tree
fd2333241d3f982e06f7b4e1c9875d0b992d0f0d)Ran locally on that tree (
TZ=UTC):cd plugins/workflow && TZ=UTC node --import ./test/resolve.mjs --test "test/*.test.js"—# tests 427,# pass 427,# fail 0.TZ=UTC ARCH_DOCS_BASE=cf4e4b5aa2e40cf1bbd842a19d449c0dffdcc9c8 npm run verify— exit 0; suites core 2877, social 577, tree 137, timeline 141, workflow 427,.github671, interop 37, live-e2e 26 — 4893 tests, 0 fail;arch-docs: OK (4 changed file(s)).node scripts/ds-bot-patches.mjs check—ok 10 patches apply cleanly in order;ok core/ equals ds-bot/ + patches/ds-bot/; pin check ok.Not run: the smoke test (this diff touches neither
core/index.jsnorcore/src/host/), and thepackagejob's typecheck and actionlint, which CI runs.Checkpoint
{"pr": 2472, "claim": "Dev-5", "issue": 1668, "summary": "The re-route branch of the workflow ingest left no trace on the source workflow: a card re-matched into another workflow vanished from the source graph with no line saying where it went. It now appends one system line,
Task re-matched · {task} → {to}, inside the same mutation that writes the new claim, so the target side is unchanged and there is no extra write. A claim that merely matches, an already:true re-match and a full log are untouched. docs/subsystems/workflow.md gains one sentence and changelog.d/1668.fixed.md is added.", "files": ["plugins/workflow/src/service.js", "plugins/workflow/test/claim-reroute-log.test.js", "docs/subsystems/workflow.md", "changelog.d/1668.fixed.md"], "checks": {"ran": "TZ=UTC ARCH_DOCS_BASE=cf4e4b5a npm run verify; plugins/workflow suite; node scripts/ds-bot-patches.mjs check", "result": "green", "at": "c815445acc73856acd25cd5e6b17b42b63b93edf"}, "next": "none — ready for review"}