diff --git a/src/scribe/services/backup_s3.py b/src/scribe/services/backup_s3.py index 2531aea7..5282a4e7 100644 --- a/src/scribe/services/backup_s3.py +++ b/src/scribe/services/backup_s3.py @@ -1,8 +1,8 @@ """A small S3 client for sending backups: AWS Signature Version 4 over httpx, path-style addressing (endpoint/bucket/key), and the two calls a backup needs. -Ported from FabledSteward's `steward/backup/s3.py`, which is tested against -the same AWS examples as tests/test_services_backup_s3.py. +The signing is checked against AWS's published SigV4 examples in +tests/test_services_backup_s3.py. Scribe puts and lists; it never deletes. The bucket keeps the history and thins it on its own policy, so a key that may only add objects is enough — diff --git a/src/scribe/services/rulebooks.py b/src/scribe/services/rulebooks.py index 7ba43f02..817a1969 100644 --- a/src/scribe/services/rulebooks.py +++ b/src/scribe/services/rulebooks.py @@ -324,8 +324,8 @@ def rule_brief(rule: Rule, **extra) -> dict: of payload for a precision nobody reads. `why` and `how_to_apply` are deliberately NOT here — they are the depth a - caller gets from get_rule, and putting them in every listing is the bloat - this milestone is about. + caller gets from get_rule, and putting them in every listing would bloat + every payload that lists rules. """ out = { "id": rule.id, @@ -1583,11 +1583,10 @@ async def rules_due_for_verification( ) -> list[Rule]: """Rules that carry a check, oldest verification first, never-checked top. - THE QUERY THIS MILESTONE EXISTS FOR. `verify_with` and `expires_when` are - storage; this is what turns them into something that gets acted on. The - 307 audit cost a session and found four broken rules by luck — this makes - the same question a list, and staleness measurable by age instead of - discoverable by accident. + `verify_with` and `expires_when` are storage; this is what turns them into + something that gets acted on. Without it, finding broken rules takes an + audit and luck — this makes the same question a list, and staleness + measurable by age instead of discoverable by accident. Ordered `verified_at` ASC NULLS FIRST: never-checked outranks checked-long-ago, because a rule nobody has ever confirmed is a claim diff --git a/src/scribe/services/shape_check.py b/src/scribe/services/shape_check.py index cd62b9b7..1e814f91 100644 --- a/src/scribe/services/shape_check.py +++ b/src/scribe/services/shape_check.py @@ -161,8 +161,8 @@ def summarise(outcomes: list[str]) -> dict: `checked` is turns the question was put to (a first stop that wrote something): passed + blocked. `asked` is the blocked ones. `left` is asks the agent walked past — the stop after a block that still had - unjudged shapes. That last number is the slip the milestone exists to - make visible.""" + unjudged shapes. That last number is the slip this check exists to make + visible.""" checked = sum(1 for o in outcomes if o in ("passed", "blocked")) asked = sum(1 for o in outcomes if o == "blocked") left = sum(1 for o in outcomes if o == "left_after_block")