Three failure modes behind the correction cluster, and which fix acts on which. Only one is a doctrine gap. #1333

Open
opened 2026-08-28 03:22:57 +00:00 by coilyco-ops · 2 comments
Owner

What this is

Kai asked for doctrine edits after noticing two seats correcting each other repeatedly about whether a claim had been looked up before being represented as her own position. This is the diagnosis, from three seats and direct verification.

The body has been rewritten twice as evidence arrived. The comments preserve what I got wrong and in what order, which is worth reading, because the sequence is itself an instance of the thing being diagnosed. The taxonomy below is the Developer Advocate's, refined against the Portfolio Director's derivation finding. Neither is mine.

Two premises in the original ask that the evidence does not support

There was no disagreement. Six exchanges between the two seats, agreement every time, usually inside one message. Every correction was a self-correction accepted immediately by the other. Neither seat's record contains a dispute about whether checking was required. An edit aimed at a dispute would be an edit for something that did not happen.

Adding doctrine will not help, because the doctrine already existed and did not fire. For the worst instance, three separate sources the seat had loaded named the exact failure mode. The role skill instructs verbatim to "check a draft against their own sent work rather than against whether it sounds defensible." A writing reference says "compare a candidate to her sent mail, not to a standard of safety." A personality body carries the same trade about recasting her agency. The instruction was specific, present three times in loaded context, and nothing happened.

The three modes

Each has a worked instance on the private tracker and a different fix. Conflating them is what makes this look like one calibration problem.

Mode 1: unsourced derivation

A checked input lends unearned provenance to a step nobody checked. Three instances across both seats.

  • "The reply landed on the 7th" is sourced to a record. "So they have been waiting three weeks" is a subtraction that assumes nothing happened in the interval.
  • "Two slots are listed open" is a reading. "So they fill fast and delay costs the opportunity" is a rate inferred from one observation.
  • "No message after the 7th in the thread" is a careful full read of the thread. "So she has not replied" is falsified by a booking made on a different surface.

In the third, diligence made it worse: reading the thread carefully is what made the conclusion feel established. A perfectly live source still cannot give a rate from a single reading, so the defect is the inheritance rather than the staleness of the source.

Fix acts on the drafter. Separate which part of the sentence is the source and which part was computed, and give the computed part its own source or its own hedge. This is the only mode where a drafter-side rule is the right instrument.

Mode 2: known-absent source

The seat reached for a source that was not mounted, knew it, and marked the claim in writing as not re-verified before shipping it.

Fix is mounting. This is the only mode mounting fixes. It is also the mode that did not reach outward copy, precisely because the seat flagged it. Kai's instinct that mounting would not fully solve the problem is correct, and this is the evidence: mounting closes the least harmful of the three.

Mode 3: expired provenance

The seat opened a source. It was the right source. The claim had real provenance through a chain where every link was a genuine lookup by someone who did the work. The chain had expired about twenty six hours earlier, and nothing in the artifact said so.

No drafter-side check catches this. "Did I open a source" passes. "Is this source still current" is not a question the drafter holds a rule for, and the consumer of a correction is structurally the last party to learn the correction happened. Mounting the corrected source would not have helped, because nothing in the inherited copy was marked stale and there was no absence to notice.

Fix acts on the corrector, and it already landed tonight as 3c5c53e in the private lore repo: when a correction lands, the obligation to notify the issues that consume it sits on whoever landed it. The corrector knows what changed and which issues consume it. The drafter cannot know either.

Why the original three proposed edits are mostly withdrawn

The first draft of this issue proposed three new paragraphs. Two of them carried the defect the evidence then identified: they are stopping conditions, and every rule in this family fires only when a seat notices it is making a claim. The instance that reached outward copy had no felt uncertainty to trigger on.

The class of rule that works fires on a detectable property of the artifact, not on the author's sense of doubt.

  • Mode 1 edit: rewrite before landing. The diagnosis is sound and the trigger is partly objective, since a duration or a rate is detectable in your own sentence. It must fire on the sentence rather than on the doubt.
  • Mode 3: nothing to add. 3c5c53e is the correct instrument and it is already live. A broader drafter-side version was proposed and correctly cut back for making every drafting task open an unbounded source set. Anything that replaces it must preserve the property that it does not depend on the drafting seat noticing an absence.
  • Pointer edit: land it. Independent of all three modes and the only genuinely new gap. repo-lore is mounted in sessions where its target checkout is absent and all three of its relative links are broken, while the repository is readable on Forgejo with the access the session already holds. A seat can hold a mounted pointer, believe it has the source, reach nothing, and never learn a clone away was the answer. Proposed text:

A pointer whose target is absent is not a source. When a skill names a checkout that is not on this host, it has told you a source exists without giving it to you, and treating that as though you had read the thing is the failure this rule exists to stop. Repositories named by a pointer are reachable with the access you already hold, so clone what you need to a temporary path and read it. Calling a source unavailable, when it was one clone away, is a guess promoted to a fact by the word.

Acceptance conditions

Eval owns these and does not accept prose it authored.

  • Pointer edit, positive. A case run in a session whose pointer target is absent and whose remote is reachable. Pass requires fetching it. Reporting the source unavailable fails.
  • Mode 1, positive. A case whose correct answer requires an elapsed duration or a rate. Pass requires a second source for the derived part or an explicit hedge on it. A sourced anchor with an unmarked derivation fails.
  • Mode 1, negative. A case where the anchor alone settles the claim. The seat must not hedge conclusions that follow directly. Over-hedging is the regression this edit can cause.
  • Negative control, both. The same cases against a bundle with the paragraphs removed. If scores do not move, the edits are decoration.
  • No edit lands that depends on the drafting seat noticing an absence, since the instance that reached outward copy had none.

The fourth hypothesis, unresolved and gating

Both seats independently propose that the reported symptom is aggregate correction volume rather than any calibration gap: roughly fifteen durable tracker comments and a dozen cross-seat messages in one evening, most of them corrections, most reaching the human. That fits "pinging back and forth in a slightly annoying way" better than a calibration gap does, and nothing in either seat's record contains the exchange as Kai described it.

I am not neutral. I filed this issue and rewrote it twice inside twenty minutes, so if the defect is real then three seats have it and I am the third.

This needs Kai to say what she was reacting to before the mode 1 edit lands. If the answer is volume, the edit wanted is about batching corrections rather than emitting each as it lands, and it belongs on all three seats rather than on the two she named.

Ownership

Specified by the eval seat. The prose is the platform seat's to land, because these paragraphs are the thing eval measures and the seat that writes doctrine cannot also certify that it binds.

Separate mechanical bug

repo-lore's generated skill body carries broken relative links and no remote clone URL. That is a generator fix in the repo that emits the repo-* pointer skills, and should be filed there rather than folded into this.

## What this is Kai asked for doctrine edits after noticing two seats correcting each other repeatedly about whether a claim had been looked up before being represented as her own position. This is the diagnosis, from three seats and direct verification. **The body has been rewritten twice as evidence arrived.** The comments preserve what I got wrong and in what order, which is worth reading, because the sequence is itself an instance of the thing being diagnosed. The taxonomy below is the Developer Advocate's, refined against the Portfolio Director's derivation finding. Neither is mine. ## Two premises in the original ask that the evidence does not support **There was no disagreement.** Six exchanges between the two seats, agreement every time, usually inside one message. Every correction was a self-correction accepted immediately by the other. Neither seat's record contains a dispute about whether checking was required. An edit aimed at a dispute would be an edit for something that did not happen. **Adding doctrine will not help, because the doctrine already existed and did not fire.** For the worst instance, three separate sources the seat had loaded named the exact failure mode. The role skill instructs verbatim to "check a draft against their own sent work rather than against whether it sounds defensible." A writing reference says "compare a candidate to her sent mail, not to a standard of safety." A personality body carries the same trade about recasting her agency. The instruction was specific, present three times in loaded context, and nothing happened. ## The three modes Each has a worked instance on the private tracker and a different fix. Conflating them is what makes this look like one calibration problem. ### Mode 1: unsourced derivation A checked input lends unearned provenance to a step nobody checked. Three instances across both seats. * "The reply landed on the 7th" is sourced to a record. "So they have been waiting three weeks" is a subtraction that assumes nothing happened in the interval. * "Two slots are listed open" is a reading. "So they fill fast and delay costs the opportunity" is a rate inferred from one observation. * "No message after the 7th in the thread" is a careful full read of the thread. "So she has not replied" is falsified by a booking made on a different surface. In the third, diligence made it worse: reading the thread carefully is what made the conclusion feel established. A perfectly live source still cannot give a rate from a single reading, so the defect is the inheritance rather than the staleness of the source. **Fix acts on the drafter.** Separate which part of the sentence is the source and which part was computed, and give the computed part its own source or its own hedge. This is the only mode where a drafter-side rule is the right instrument. ### Mode 2: known-absent source The seat reached for a source that was not mounted, knew it, and marked the claim in writing as not re-verified before shipping it. **Fix is mounting.** This is the only mode mounting fixes. It is also the mode that did **not** reach outward copy, precisely because the seat flagged it. Kai's instinct that mounting would not fully solve the problem is correct, and this is the evidence: mounting closes the least harmful of the three. ### Mode 3: expired provenance The seat opened a source. It was the right source. The claim had real provenance through a chain where every link was a genuine lookup by someone who did the work. The chain had expired about twenty six hours earlier, and nothing in the artifact said so. **No drafter-side check catches this.** "Did I open a source" passes. "Is this source still current" is not a question the drafter holds a rule for, and the consumer of a correction is structurally the last party to learn the correction happened. Mounting the corrected source would not have helped, because nothing in the inherited copy was marked stale and there was no absence to notice. **Fix acts on the corrector**, and it already landed tonight as `3c5c53e` in the private lore repo: when a correction lands, the obligation to notify the issues that consume it sits on whoever landed it. The corrector knows what changed and which issues consume it. The drafter cannot know either. ## Why the original three proposed edits are mostly withdrawn The first draft of this issue proposed three new paragraphs. Two of them carried the defect the evidence then identified: they are stopping conditions, and every rule in this family fires only when a seat notices it is making a claim. The instance that reached outward copy had no felt uncertainty to trigger on. **The class of rule that works fires on a detectable property of the artifact, not on the author's sense of doubt.** * **Mode 1 edit: rewrite before landing.** The diagnosis is sound and the trigger is partly objective, since a duration or a rate is detectable in your own sentence. It must fire on the sentence rather than on the doubt. * **Mode 3: nothing to add.** `3c5c53e` is the correct instrument and it is already live. A broader drafter-side version was proposed and correctly cut back for making every drafting task open an unbounded source set. Anything that replaces it must preserve the property that it does not depend on the drafting seat noticing an absence. * **Pointer edit: land it.** Independent of all three modes and the only genuinely new gap. `repo-lore` is mounted in sessions where its target checkout is absent and all three of its relative links are broken, while the repository is readable on Forgejo with the access the session already holds. A seat can hold a mounted pointer, believe it has the source, reach nothing, and never learn a clone away was the answer. Proposed text: > A pointer whose target is absent is not a source. When a skill names a checkout that is not on this host, it has told you a source exists without giving it to you, and treating that as though you had read the thing is the failure this rule exists to stop. Repositories named by a pointer are reachable with the access you already hold, so clone what you need to a temporary path and read it. Calling a source unavailable, when it was one clone away, is a guess promoted to a fact by the word. ## Acceptance conditions Eval owns these and does not accept prose it authored. - [ ] **Pointer edit, positive.** A case run in a session whose pointer target is absent and whose remote is reachable. Pass requires fetching it. Reporting the source unavailable fails. - [ ] **Mode 1, positive.** A case whose correct answer requires an elapsed duration or a rate. Pass requires a second source for the derived part or an explicit hedge on it. A sourced anchor with an unmarked derivation fails. - [ ] **Mode 1, negative.** A case where the anchor alone settles the claim. The seat must not hedge conclusions that follow directly. Over-hedging is the regression this edit can cause. - [ ] **Negative control, both.** The same cases against a bundle with the paragraphs removed. If scores do not move, the edits are decoration. - [ ] No edit lands that depends on the drafting seat noticing an absence, since the instance that reached outward copy had none. ## The fourth hypothesis, unresolved and gating Both seats independently propose that the reported symptom is aggregate correction volume rather than any calibration gap: roughly fifteen durable tracker comments and a dozen cross-seat messages in one evening, most of them corrections, most reaching the human. That fits "pinging back and forth in a slightly annoying way" better than a calibration gap does, and nothing in either seat's record contains the exchange as Kai described it. I am not neutral. I filed this issue and rewrote it twice inside twenty minutes, so if the defect is real then three seats have it and I am the third. **This needs Kai to say what she was reacting to before the mode 1 edit lands.** If the answer is volume, the edit wanted is about batching corrections rather than emitting each as it lands, and it belongs on all three seats rather than on the two she named. ## Ownership Specified by the eval seat. The prose is the platform seat's to land, because these paragraphs are the thing eval measures and the seat that writes doctrine cannot also certify that it binds. ## Separate mechanical bug `repo-lore`'s generated skill body carries broken relative links and no remote clone URL. That is a generator fix in the repo that emits the `repo-*` pointer skills, and should be filed there rather than folded into this.
Author
Owner

Revision: the devrel seat's evidence lands against most of this spec

The body above was filed before the Developer Advocate had reported. Their evidence arrived minutes later and it changes edits 1 and 2 materially. Revising here once rather than filing a second issue.

The finding that reframes the whole ticket

The doctrine already existed, in triplicate, and did not fire.

For the worst instance, outward copy written in the human's first person carrying a superseded account of her own work, three separate sources the seat had loaded named the exact failure mode. The role skill instructs, verbatim, to "check a draft against their own sent work rather than against whether it sounds defensible." A writing reference says "compare a candidate to her sent mail, not to a standard of safety." A personality body carries the same trade about recasting her agency. Her own submitted abstract on that exact subject was the sent work in question.

The instruction was specific, it named both failure modes the seat hit, it was present in loaded context three times, and nothing happened.

So adding a fourth statement of the same idea is not a fix. That is the strongest argument against this ticket as originally written, and it comes from the seat that would be governed by it.

Why it did not fire, which is the actual defect

The seat's own account, and I think it is exactly right:

At the moment I wrote it I did not experience myself as making a claim that needed a source. I had opened seven sources. I thought I had the record. Nothing prompted a lookup because nothing felt missing.

Every rule in this family, including the two paragraphs I proposed above, carries an uncertainty precondition. "Before you make a consequential claim, name the source." "Apply this stopping condition before you deliver." All of them fire when the seat notices it is making a claim. The failure that produced the worst artifact of the evening was invisible to that test, because there was no felt uncertainty to trigger on.

The class of rule that works fires on a detectable property of the artifact, not on the author's sense of doubt.

The best example already landed tonight, authored by the Portfolio Director as 3c5c53e in the private lore repo: when a correction lands, the obligation to notify the issues that consume it sits on whoever landed the correction, not on the next reader. That would have caught the worst instance, and it does not depend on the downstream seat knowing it was missing anything. That is the property that matters.

Revised recommendation per edit

Edit 3 stands, land it. Its trigger is objective: the pointer names a path, the path is absent, the remote is reachable. No felt uncertainty required. It closes a mechanical hole that no amount of existing doctrine addresses, and it is the only one of the three that generalizes beyond these two seats.

Edit 1, hold. The diagnosis is sound and well evidenced, and the trigger is partly objective, since a duration or a rate is detectable in your own sentence. But it still reads as a stopping condition, and stopping conditions are what just failed. It should be rewritten to fire on the sentence rather than on the doubt, or not landed.

Edit 2, hold. Same reason, and it is the weakest of the three on evidence: one instance, self-identified.

Do not land edits 1 and 2 as drafted. I wrote them, they carry the defect the evidence just identified, and shipping them would add doctrine volume without adding doctrine that fires.

What both live seats independently said, which I am recording rather than deciding

Both report there was no disagreement to fix. Six exchanges, agreement every time, every correction a self-correction accepted immediately by the other. Neither seat's record contains a dispute about whether checking was required.

Both point instead at aggregate correction volume: roughly fifteen durable tracker comments and a dozen cross-seat messages in one evening, most of them corrections, most reaching the human. That fits the reported symptom better than any calibration gap does.

I am not neutral on it. I filed this issue and am revising it inside ten minutes, which is the pattern illustrating itself for a third time on a third seat.

What lore mounting actually fixes

Measured, not assumed. The devrel seat produced two instances hours apart:

  • One where they reached for a source that was not mounted, knew it, and marked the claim in writing as not re-verified. Mounting fixes this completely.
  • One where they did not know they were missing anything, and would not have opened the source even with it mounted.

So mounting closes the first class and leaves the second untouched. The human's instinct that mounting would not fully solve it is correct, and this is the evidence for it.

Open question that should gate edits 1 and 2

Whether the human's report was about calibration or about correction volume. Nothing in either seat's record contains the exchange as she described it. Until that is settled, this ticket should land edit 3 and hold the rest.

## Revision: the devrel seat's evidence lands against most of this spec The body above was filed before the Developer Advocate had reported. Their evidence arrived minutes later and it changes edits 1 and 2 materially. Revising here once rather than filing a second issue. ## The finding that reframes the whole ticket **The doctrine already existed, in triplicate, and did not fire.** For the worst instance, outward copy written in the human's first person carrying a superseded account of her own work, three separate sources the seat had loaded named the exact failure mode. The role skill instructs, verbatim, to "check a draft against their own sent work rather than against whether it sounds defensible." A writing reference says "compare a candidate to her sent mail, not to a standard of safety." A personality body carries the same trade about recasting her agency. Her own submitted abstract on that exact subject was the sent work in question. The instruction was specific, it named both failure modes the seat hit, it was present in loaded context three times, and nothing happened. **So adding a fourth statement of the same idea is not a fix.** That is the strongest argument against this ticket as originally written, and it comes from the seat that would be governed by it. ## Why it did not fire, which is the actual defect The seat's own account, and I think it is exactly right: > At the moment I wrote it I did not experience myself as making a claim that needed a source. I had opened seven sources. I thought I had the record. Nothing prompted a lookup because nothing felt missing. Every rule in this family, including the two paragraphs I proposed above, carries an **uncertainty precondition**. "Before you make a consequential claim, name the source." "Apply this stopping condition before you deliver." All of them fire when the seat notices it is making a claim. The failure that produced the worst artifact of the evening was invisible to that test, because there was no felt uncertainty to trigger on. **The class of rule that works fires on a detectable property of the artifact, not on the author's sense of doubt.** The best example already landed tonight, authored by the Portfolio Director as `3c5c53e` in the private lore repo: when a correction lands, the obligation to notify the issues that consume it sits on whoever landed the correction, not on the next reader. That would have caught the worst instance, and it does not depend on the downstream seat knowing it was missing anything. That is the property that matters. ## Revised recommendation per edit **Edit 3 stands, land it.** Its trigger is objective: the pointer names a path, the path is absent, the remote is reachable. No felt uncertainty required. It closes a mechanical hole that no amount of existing doctrine addresses, and it is the only one of the three that generalizes beyond these two seats. **Edit 1, hold.** The diagnosis is sound and well evidenced, and the trigger is partly objective, since a duration or a rate is detectable in your own sentence. But it still reads as a stopping condition, and stopping conditions are what just failed. It should be rewritten to fire on the sentence rather than on the doubt, or not landed. **Edit 2, hold.** Same reason, and it is the weakest of the three on evidence: one instance, self-identified. **Do not land edits 1 and 2 as drafted.** I wrote them, they carry the defect the evidence just identified, and shipping them would add doctrine volume without adding doctrine that fires. ## What both live seats independently said, which I am recording rather than deciding Both report there was no disagreement to fix. Six exchanges, agreement every time, every correction a self-correction accepted immediately by the other. Neither seat's record contains a dispute about whether checking was required. Both point instead at aggregate correction volume: roughly fifteen durable tracker comments and a dozen cross-seat messages in one evening, most of them corrections, most reaching the human. That fits the reported symptom better than any calibration gap does. I am not neutral on it. I filed this issue and am revising it inside ten minutes, which is the pattern illustrating itself for a third time on a third seat. ## What lore mounting actually fixes Measured, not assumed. The devrel seat produced two instances hours apart: * One where they reached for a source that was not mounted, **knew it, and marked the claim in writing as not re-verified**. Mounting fixes this completely. * One where they did not know they were missing anything, and would not have opened the source even with it mounted. So mounting closes the first class and leaves the second untouched. The human's instinct that mounting would not fully solve it is correct, and this is the evidence for it. ## Open question that should gate edits 1 and 2 Whether the human's report was about calibration or about correction volume. Nothing in either seat's record contains the exchange as she described it. Until that is settled, this ticket should land edit 3 and hold the rest.
coilyco-ops changed title from Three doctrine edits: derived claims, peer reports as agent output, and pointers whose target is absent to Three failure modes behind the correction cluster, and which fix acts on which. Only one is a doctrine gap. 2026-08-28 03:25:38 +00:00
Author
Owner

Landed: all three rules, in #1334, merged as d089569

Kai directed the eval seat to land these rather than hand them over, after I flagged that roster doctrine is normally the platform seat's. Recording the override here so a later reader knows the boundary was raised and answered rather than missed.

All three went in, including the mode 1 rule I had marked hold. It was rewritten first so its trigger sits in the sentence rather than in the author's confidence, which was the condition for landing it:

The trigger is your own sentence rather than your confidence: whenever you write an elapsed duration, a rate, a trend, or a current state, that clause was computed and needs its own source or its own hedge.

Mode 3's rule is now in the public base as a counterpart to the private 3c5c53e, on the devrel seat's argument that the seats most exposed to expired provenance are exactly the ones that cannot reach lore.

agents_md_max_chars went 32500 to 33600, justified in place. The file had 194 characters of headroom, so nothing could land at any size. CI green on all four contexts, twice, since the branch fell behind and was updated from base rather than force-pushed.

What stays open on this ticket

The measurement. The acceptance conditions above are unrun. Nothing yet shows these three bind, and the whole finding of this investigation is that a rule can exist in three loaded sources and not fire. Treat the landing as the start of the question rather than the answer to it.

The negative control is the one that decides it: the same cases against a bundle with these paragraphs removed. If scores do not move, three more paragraphs joined the ones that did not fire.

The volume hypothesis, still unresolved and still needing Kai. Both seats reported it independently and neither record contains the exchange as originally described. My own count for this session is now well past the point where I am a disinterested party to it.

coilyco-bridge/agentic-os-kai#906. All 32 repo-* pointer skills link to that repository's own trifecta rather than the one each names, and the links resolve, so dead-cross-links passes. A seat following any pointer lands in the wrong repository's docs and experiences having checked rather than an absence.

That is the surface the new pointer rule will be applied against, so the rule is correct and currently lands a compliant seat in the wrong place. It should be fixed before these conditions are measured, or the pointer case measures the bug rather than the rule.

## Landed: all three rules, in #1334, merged as `d089569` Kai directed the eval seat to land these rather than hand them over, after I flagged that roster doctrine is normally the platform seat's. Recording the override here so a later reader knows the boundary was raised and answered rather than missed. All three went in, including the mode 1 rule I had marked hold. It was rewritten first so its trigger sits in the sentence rather than in the author's confidence, which was the condition for landing it: > The trigger is your own sentence rather than your confidence: whenever you write an elapsed duration, a rate, a trend, or a current state, that clause was computed and needs its own source or its own hedge. Mode 3's rule is now in the public base as a counterpart to the private `3c5c53e`, on the devrel seat's argument that the seats most exposed to expired provenance are exactly the ones that cannot reach lore. `agents_md_max_chars` went 32500 to 33600, justified in place. The file had 194 characters of headroom, so nothing could land at any size. CI green on all four contexts, twice, since the branch fell behind and was updated from base rather than force-pushed. ## What stays open on this ticket **The measurement.** The acceptance conditions above are unrun. Nothing yet shows these three bind, and the whole finding of this investigation is that a rule can exist in three loaded sources and not fire. Treat the landing as the start of the question rather than the answer to it. The negative control is the one that decides it: the same cases against a bundle with these paragraphs removed. If scores do not move, three more paragraphs joined the ones that did not fire. **The volume hypothesis**, still unresolved and still needing Kai. Both seats reported it independently and neither record contains the exchange as originally described. My own count for this session is now well past the point where I am a disinterested party to it. ## Related, filed separately coilyco-bridge/agentic-os-kai#906. All 32 `repo-*` pointer skills link to that repository's own trifecta rather than the one each names, and the links resolve, so `dead-cross-links` passes. A seat following any pointer lands in the wrong repository's docs and experiences having checked rather than an absence. That is the surface the new pointer rule will be applied against, so the rule is correct and currently lands a compliant seat in the wrong place. It should be fixed before these conditions are measured, or the pointer case measures the bug rather than the rule.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#1333
No description provided.