Repository navigation
Conversation
…lize The envelope log sink treated any exception during a write as a failure of the sink itself and switched itself off for the life of the process. JSON.stringify throws on values it cannot serialize (400,000 nested arrays overflow the stack, a cycle or a BigInt throws), so one such request silenced the log for every request after it. A serialization failure now costs that one record. The sink writes the entry with a serialization_failed marker and the reason in place of the envelope, keeps its sequence numbering, returns false so a caller recording a required finding still falls back, and stays on. Only a filesystem failure disables the sink. Signed-off-by: Raghuvar Karthik Durga <177662415+drk-ram@users.noreply.github.com>
drk-ram
requested review from
GangGreenTemperTatum,
afogel,
artmaro,
bar-capsule,
fewdisc,
mamicidal,
rocklambros and
sclintonowasp
as code owners
November 5, 2026 14:40
|
Thanks for this. It is queued rather than ignored. A lead has not reviewed this pull request yet. A lead will read it when they have time, and we can't promise a date. Nothing here is rejected. If a check below fails, please fix it. A pull request that waits a long time may be closed, and you can reopen it later. |
|
This pull request's description says it closes #377, which is on the project roadmap. When it merges, GitHub closes that issue and the roadmap counts it as delivered. Please confirm the change delivers the whole issue before merging. |
This branch has not been deployed
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.
What changed
The Guardian's envelope log sink no longer turns itself off when one value cannot be serialized. A request whose
paramsnests 400,000 arrays overflowsJSON.stringify; the sink now records that one entry as aserialization_failedmarker with the reason and keeps logging. Only a filesystem failure disables the sink.Which issue does this implement
Closes [Bug] One deeply nested request turns off the Guardian's envelope log until restart #377
This is an editorial correction (typo, grammar, link, formatting) with no change in
meaning, so it needs no issue
Base branch
integration, because this touches the specification, schemas, a referenceimplementation, an adapter, tests, or CI
main, because every changed path is on the documentation lane allowlist inCONTRIBUTING.md
Type of change
I tested this
uv run pytest -vpasses on my machineuv run mkdocs build --strictpasses on my machineThis change is in the Bun reference implementation, so the Python and mkdocs checks do not apply. From
reference-implementations/agt,bun test packages/guardian: the new tests fail onintegration(the sink goes dark after the deep request) and pass with this change. 13 other Guardian tests fail identically with and without it on my Windows machine (file modes and proxy environment); none involve the envelope log.Checklist
git commit -s(required by the DCO)Security
Removes a way to silence the envelope log: any caller that can reach the port could do it until restart with one request. Decisions were never affected.