Repository navigation
Fixed logging of requests being passed between handlers. - #14
Merged
Merged
Conversation
iancooper
added a commit
that referenced
this pull request
Nov 4, 2014
Fixed logging of requests being passed between handlers.
Member
|
Thanks for that |
6 of 9 tasks
iancooper
added a commit
that referenced
this pull request
Sep 12, 2026
#1 (92, Critical) the type-touch row saying PipelineValidator "calls the extracted evaluator" is deleted — it was a relic of an abandoned extract-to-core design and contradicted the row above it, step 1 and the whole of Technology Choices. #2 (85) "plus one in core" -> "and none in core". #3 (72) the failure-mode table gains the row C-20(i) requires: a widest constructor MS DI would not select can warn WRONGLY, so the count of report-wrongly rows is three, not two, and "all reportable as misses" is corrected. #4 (70) NFR-9's exclusivity claim restated as ownership, matching decision 6. #5 (68) the snapshot collapses to one ArtefactRegistration per TYPE carrying its set of kinds, so FR-22.3's de-duplication actually composes. #6 (65) the four IBrighterOptions registration citations now describe the state after ADR 0076 step 3 deletes them. #8 (58) AC-42 tests two of D15's three cases, not three. #9 (56) BrighterOptionsRegistration named as the carrier, and as a descriptor in the snapshot. #10 (55) the real reason instance-registered artefacts are excluded. #11 (54) the duplicated Specification/ValidationResultCollector commentary node and its solid edge removed from the diagram; both diagrams re-rendered. #12 (52) thread safety stated on the Validate() contract row. #13 (50) AC-24 moved onto the C-18 item. #14 (45) AC-44's obligation stated accurately. #16 (40) reference-list drift. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJjvJaUupNvDeTpEPp73as
iancooper
added a commit
that referenced
this pull request
Sep 12, 2026
0072 #1 (75) the faulted-Lazy eviction now states the removal discipline that makes it safe: TryRemove takes the OBSERVED PAIR, not the key. Under ExecutionAndPublication every thread that awaited the faulting Lazy observes the exception and attempts the eviction, so a key-only removal can delete a healthy Lazy a concurrent resolver published — which under JoinAmbient yields two Scoped artefacts in one borrowed request scope, exactly what FR-16(a) and AC-17 forbid. This is the one place the protocol is not inherited, and it was the one place left unspecified. #2 (70) NFR-6 no longer cited for a reading it does not support — an artefact per pipeline is cost proportional to pipelines, which NFR-6 permits; the real reason is given instead. #3 (66) the private-cache fallback is replaced by declining at the probe, so one statement of where the cache lives survives. #4 (64) ladder row 8's use of FR-23 is declared an extension beyond that requirement's text, with the absent AC recorded. #6 (58) AmbientScopeSourceException gains the Key Components section and contract table its never-null invariant needs — six sites unwrap it with e.InnerException!. #7 (55) AC-46's second conjunct is resolved by stating the equivalence (under FR-27.1 the ask and the scope are co-extensive) rather than naming an instrument AC-13 says cannot see scopes. #10 (44) the diagnostics singleton is held nullable. #13, #14, #15 and set #11 (FR-16b named as owned). ⚠ The catch-block ranges are corrected in 0071 AND 0072 together — :202-205 / :248-251, matching the touched table's own stated convention — because fixing one file alone would have created fresh cross-ADR drift, which the 0072 reviewer flagged explicitly. Diagram re-rendered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJjvJaUupNvDeTpEPp73as
iancooper
added a commit
that referenced
this pull request
Sep 12, 2026
Round 7's fifth ordinary slice. Closes 0070 #1, #2, #3, #4, #6, gap C #1, gap C #9 and gap C #10 - the whole slice, nothing left open. WHAT LANDED - 0070 (sixteen sites) and 0075:476 (one), 17 insertions / 16 deletions, net +53 words. - #1 The Warning ledger was eight/seven and is ten/nine. FailedToReleaseTransformerAfterInitFailure (TransformerFactory.cs:69, TransformerFactoryAsync.cs:69) is a mapper-or-transform release Warning on this build path, in two types :358 already lists as touched. - #2 TransformPipelineDrain is internal static and holds no state, so the third step arrives as a third delegate. Step 5 now gives both new signatures; the touched table's "Both parameter lists are unchanged" is now "Each list gains one delegate and nothing else". - #3 MessageMapperRegistry forwards (step 6); it is not one of the two-line no-op implementations. Step 2 and the Risks cell both narrowed. - #4 The Create contract row promised "exactly its current behaviour", which step 9 abolishes; it now points at step 6's rule for that lifetime. - #6 The roles table named the builders as the six interfaces' only caller. False of four: the registry forwards to the mapper factories and TransformerFactory[Async] calls the transformer factories' Create. - gap C #1 The "No hidden state" Positive is falsified by 0075's three AsyncLocal brackets. Rewritten to the narrower true thing, and its generator - alternative 1's first ground - with it. - gap C #9 Alternative 8 was "Rejected by the settled decision on C-8"; C-8 (requirements.md:375) delegates that decision TO the ADR. Circular appeal deleted, the concrete reason leads. - gap C #10 Alternative 1's third count objected to "a second public core type"; the set adds five. Dropped, "three counts" -> "two counts". WHAT THE ROW GOT WRONG - it named ten sites and the batch edited seventeen. - #1's row named three sites and said :456 "stands as written". It does not: its numeral IS the release-group count. Two more were unnamed - :300 ("leaves the seven that exist alone") and :458 ("The seven keep their level") - and alternative 11 carries the numeral four times, not once. Five sites, seven occurrences. - #2's row named the table clause and step 5's lead but not the finalizer paragraph, whose bold lead asserted "Drain keeps its signature" and whose "a third parameter" is a FOURTH one once the fix lands. Rule 11: a paragraph's bold lead is a site. - gap C #1 named 0070's bullet but not 0075:476, which quotes that bullet's title verbatim. Renaming the bullet falsified the sibling, so both ends are in this commit (rule 3). TWO FINDINGS IN ONE PARAGRAPH, AND THE RECOMMENDATIONS WERE DRAFTS - gap C #1 and gap C #10 both edit alternative 1. Composed from their evidence, not their patches (O-0073 lesson 1). - gap C #1's own draft ground was wrong: I first wrote that a per-flow slot has no end tied to the pipeline's life, then found alternative 1's own text says the builder brackets it, so FR-5's release is reachable. The true ground is 0075:476's own distinction - a bit, not a resource: a leaked bit costs a missed adoption, a leaked scope is shared by two pipelines and disposed by whichever finishes first (rule 21, the house form already existed in the sibling). - #6's recommendation was "split the row - one phrase cannot carry two families". DECLINED: there are three call patterns, not two (registries <- builders; mapper factories <- the registry; transformer factories <- the builder for CreatePipelineScope and TransformerFactory[Async] for Create), so a split still needs a compound phrase in the factory row and would duplicate a correct Responsibilities cell. One row, corrected. - #1's recommendation put the new message in the third bullet (FailedToReleasePipeline). It is a different member on different types; it got its own bullet, which is what the +1 block below is. COUNTER-CASES VERIFIED AND LEFT ALONE - :396 "No ambient state anywhere ... nothing per-flow" - its subject is the scope-carrying mechanism, of which it is true (rule 14: narrower than the design, not false). :609 already states the correct set-wide form and NAMES 0075's flag as the only such mechanism in play; the Positive bullet was made consistent with :609 rather than restated. - C-8 keeps eight body citations (:37, :41, :47, :297, :298, :299, :530, :656) after the appeal was deleted, so ## References owes no deletion (rule 21c, counted in the body). - Residual "seven"/"eight" in 0070 are four different subjects: seven ADRs (:74), seventeen-of-eighteen classes (:385), the siblings' eight release-note items (:577) and eight broken interfaces (:579). - Rule 12a run: no mermaid block carries a Warning count, a Drain parameter list or the renamed bullet. The sequence diagram already draws Pipeline->>Registry, which corroborates #6's fix. The class diagram's builder->transformer-factory edge glosses the TransformerFactory hop at the same level :593 already coexists with - unchanged before this batch and unchanged by it. - O-0075 lesson 1 run: 0070 #8, #9, #10, #11, #12, #13, #14 and gap C #12, #14 re-read against the new text; none falsified. Clean for the third batch running. - 0075:565's References gloss ("it removed all per-flow state from the design") stays true via :396 and :609 and was not edited. BOOKKEEPING requirements.md owes nothing and this was CHECKED against the document: no log-message name or count appears in it at all, TransformPipelineDrain / Drain / releaseScope appear nowhere, "per-flow" and "hidden state" appear nowhere, the fallback-contract wording appears nowhere, and its one MessageMapperRegistry hit is C-17's registry-BUILDER file citation. Ninth batch in a row to owe nothing there; that is now nine and it is still not a rule. No frontmatter moved, so no index.md diff was owed - the regeneration was run anyway and is empty, still 99 indexed. Fences balance (14 in 0070, 12 in 0075); no mermaid block touched and the set still holds 26. HTML entities 0. D8 MEASUREMENT - ONE COLUMN ROSE BY ONE 0070 259/3/0/112/82/4 -> 260/3/0/112/82/4; set 1496/26/1/881/424/26 -> 1497/26/1/881/424/26. The +1 block is the new ledger bullet: the family gained a member, so the list did. No bold added in either column. Two sentences I drafted crossed 40 words and were SPLIT rather than kept - 0070's 40+ sentence count falls 56 -> 55, so 0070 #7 (56, promoted into Phase 5) is left slightly better, not worse (O-0075 lesson 6). Phase 4's instrument was reproduced FIRST and matched the recorded baseline exactly on all seven rows at the review's own HEAD (09856a6: 1468/27/1/864/400/26), and today's set matched O-0074's recorded post-landing figures, before any edit. The 0075 row's apparent drift from O-0075's note is 532b3ba, the owner-directed Terms block, and the instrument reproduces that note's figure exactly at 18e2971. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJjvJaUupNvDeTpEPp73as
iancooper
added a commit
that referenced
this pull request
Sep 12, 2026
… 7 (batch O-set) Closes set #4 (68), set #8 (62), set #9 (62), set #12 (62) and set #14 (60) - the whole batch, nothing left open. Bucket S/factual. No requirements revision. WHAT LANDED - sixteen ADR sites in seven files, plus one index.md row. set #9 the shared "Where this ADR sits" preamble in ALL SEVEN drops "one decision each". It is false of two: 0072:31 and 0076:34 each open "This ADR decides two things". Each ADR's own opening sentence already states its own decision count correctly, so this was the second, drifted copy - 0070:385's house rule, an argument stated in two places is an argument that drifts apart, and S-a lesson 2's "drop the numeral from the sibling pointers" in a second guise. set #8 0071's `handler` tag removed; it is outside adr_frontmatter.md's controlled vocabulary and 0071 was the only ADR in 99 using it. index.md republishes tags, so the regeneration rides this commit (rule 4) - exactly one row moved, still 99 indexed / 101 pipe lines, and the regeneration is idempotent. set #14 FR-6 was split in fact and described as split at ONE end only. 0070:41 claimed it unqualified under "Each requirement below is discharged here"; 0071:41 qualified it "for the handler family" but named no other end. Both now carry the house form, taken verbatim from 0071's own NFR-5/NFR-6 bullet: "ADR 0071 carries the handler half" / "ADR 0070 carries the transform half". set #4 FR-10 names three types (D4) and was described as split at NEITHER end. 0072:35 claimed it whole while declaring `IAmAScopeProvider` and `ScopeAffinity`; `IAmAScope` is 0070's, and the string FR-10 appeared nowhere in 0070. Both ends now state the division, on the FR-13 model 0073:50 and 0074:48 already name, and 0070's ## References gains FR-10 (its `IAmAScope` half). set #12 C-8 covers the same three seam types. 0070:37 reported it "confirmed that the seam types live in Paramore.Brighter" while introducing one of them; 0072, which declares the other two in core, never cited C-8. 0070:37 now confirms the home C-8 assumes for `IAmAScope` and names 0072 for the other two; 0072:510 states the reciprocal and 0072's ## References gains C-8 (rule 21b). WHAT THE ROW GOT WRONG The row named twelve sites and the batch edited SIXTEEN, plus the index. TWO UNNAMED, and one is in a file no set finding mentions for this subject: - 0072:720, ## References, which owed C-8 the moment 0072:510 confirmed a home (rule 21b: where a bullet names a guard, ## References owes it). - 0073:52, "It serves FR-10, FR-12, FR-16, FR-18 and FR-23, EACH DISCHARGED BY ADR 0072" - a third ADR asserting the ownership this batch divides. Rule 21b exactly: assigning ownership falsifies every sibling that previously claimed the thing, and the sweep that found it was over the ownership VERBS (discharg|whole of|split), not over FR-10. AND THE REVIEW FILE'S OWN RANKED INDEX MISNUMBERS THIS BATCH. review-design.md line 141's index OMITS the C-8 finding and renumbers the three below it, so its "set #12" and "set #14" are the set-level section's #13 and #15. The set-level section (line 1275) is the source and is internally consistent - 18 findings, 14 at or above 60, rows 1-14 - and O-0072's landing note confirms the convention by closing "set #13" = the latches finding. A session trusting the ranked index would land two wrong findings. A RECOMMENDATION'S SITE LIST OVER-REACHED FOR ONCE, RATHER THAN UNDER-REACHING. set #4 says the string FR-10 appears "in neither 0070 nor 0071 - not in Scope, not in References", implying both owe a citation. 0071 owes NOTHING: it declares no FR-10 type and exposes no provider, and the property the finding is reaching for - that the added core member names `IAmAScope` rather than a container type - is already owned by NFR-1(a), which 0070 claims at 0070:49 and 0071 explicitly routes to 0070 at 0071:48. Reading FR-10 rather than the finding is what settled it (rule 17). COUNTER-CASES VERIFIED AND LEFT ALONE - 0070:297 "This confirms C-8's assumption" - the Home row of `IAmAScope`'s own contract spec, so its subject IS that one type. Narrower than its subject is not false (rule 14), and a qualifier added there would be a claim the section does not need. 0070:298 "(C-8, settled)" is the disposal half and is exactly right. - 0070:511, :521, :530 state FR-6 inside step 5, whose subject is `TransformPipeline<TRequest>` throughout; 0070:47 and 0071:44 cite FR-6 only as AC-8's tag. Citations, not claims (rule 15). - 0072:101 "FR-10 pairs that obligation with OOS-3" and 0073:97 "FR-10 states the rule on the provider" are content citations, and 0073:506 is a bare ## References entry - none asserts ownership. - The "Where this ADR sits" TABLE was not touched. Its 0072 row names one of that ADR's two decisions, and its 0076 row already names two - it is the PREAMBLE that made the rows read as exhaustive (rule 12b, a classifier sentence is the lead-in of every row at once). Dropping the clause leaves the table byte-identical in all seven, and every ## References sibling one-liner still matches its cell. - The phrase was INHERITED, and inheriting a sentence copies its truth conditions and not its truth: "Four ADRs came out of the #4252 lifetime work, one decision each" is the 0066-0069 preamble, and it is TRUE there - none of those four opens "decides two things" (checked). Those are Accepted ADRs outside the review's remit and were not touched (S-g's rule). - No taxonomy addition was proposed for `handler`. The house tags the CONCERN, not the pipeline element: 0037-reject-message-on-error-handler and 0063-request-validation-handler both name a handler in the title and neither reaches for such a tag, and 0067 - the nearest sibling in subject - carries three tags. `lifetime, di, pipeline` already say what 0071 is about. Rule 21a run and it came back "delete", not "keep it and mark it". - Below-threshold set findings re-read against the new text: #15 (C-3/AC-21), #17 (OOS-6/OOS-11) and #18 (0075's title) are untouched and none is falsified. Note #15 is scored 55 in its own section and 60 in the ranked index; the section governs, so it stays closed by being below threshold. - Rule 12a run: no mermaid block in the set carries FR-6, FR-10, C-8 or a decision count. BOOKKEEPING requirements.md owes nothing and this was CHECKED against the document, not assumed. It contains "frontmatter", "tag" and "Where this ADR sits" zero times; its three "one decision" hits are all "adoption decision" in AC-13 and AC-52; and it never assigns an FR to an ADR - the ADRs are what is brought into line with FR-10 and C-8, exactly as O-0071's #3 and O-0072's set #13 were. C-8's own "The ADR should confirm this" is the document's collective use of "the ADR" for design (C-13), not a claim that one ADR does it. Fences balance (14/16/16/8/12/12/16); HTML entities 0; the set still holds 26 mermaid diagrams and no diagram line is touched. D8 MEASUREMENT NO COLUMN MOVED IN EITHER DIRECTION: set 1496/25/1/881/424/26 before and after, and every per-file row identical. Phase 4's instrument was rebuilt from PROMPT-reference.md section 8's definitions and reproduced the recorded baseline EXACTLY on all seven rows at 09856a6 (1468/27/1/864/400/26) on the first run, then matched O-front's post-landing figures before any edit. One column DID rise on the first pass - 0072 prose bold 101 -> 102, from a bolded **C-8** in step 1 - and it was removed rather than explained: D8's own "a fix that needs bold is in the wrong place", and 0072 already cites constraints unbolded (0072:646, C-12a). The reported figure is after that fix. 0070 #7 is PROMOTED into Phase 5 (rule 18b), so its dimension was measured too: 0070's 40+ word sentences are 55 before and 55 after, against the review HEAD's 59. The batch adds one sentence to 0070 and it is not a long one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJjvJaUupNvDeTpEPp73as
iancooper
added a commit
that referenced
this pull request
Sep 26, 2026
Issues worked, each at every site in the file: - the disposable clone's refs: origin/ forms, origin/master reset to the real one, clone figures are not calibration values (#1); - complete K-fixture file sets, K13 and K14 added (#4, #18); - which fixture carries which AC: AC-27 on K2, K1's complete two-path list under the amended FR-14, AC-40, AC-42 (#2, #3, #7, #9); - a visible red for every script task: plain write in T3.1, atomic write by inspection in T7.1, in_range in T8.2, adr-unresolved fixture (#5, #8, #11); - T11.1 split in three, Phase 5 dependency, baselines, T1.3 placement (#10, #12, #13, #14, #17); - judged-path ACs recorded as unexercised rather than passed, and the coverage tables corrected (#6, #15, #16, #19); - T17.5's AC-25 and stand-in reruns held inside the (C-8) window. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P2WY2ELStCVRM2SW3vajnr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trivial fix for exception when a request is being passed from a handler to its successor.
My first pull request - hope I've done it right!