review: clear stale attribution, gate numberless PUTs, cite the ADR

A Poll finding a higher number now clears series.latest_raised_by: the value
it stores is its own, so the next Poll must not credit that Reader with an
agreement they did not earn, nor charge them for a retraction of a number
they never reported.

A PUT carrying no chapter is no Sighting and defers nothing. The ceiling now
counts the Site's own rest rather than defaultRest. The userscripts PUT an
unchanged read too - the case the whole mechanism exists for was the one they
never sent.

ADR-0011 carries its citations and states honestly when a Reader's marks take
effect.
This commit is contained in:
2026-08-16 16:36:31 +07:00
parent 56afb9f237
commit 2b597921f4
13 changed files with 2959 additions and 1003 deletions
+36 -21
View File
@@ -35,8 +35,8 @@
"semantic_hash": "4a94ac85bad6bce330d085bcc0ae3ffd"
},
"userscript/manga-bookmark.user.js": {
"mtime": 1786499529.779988,
"ast_hash": "1f8bcddd3632d709f058a8401af8f127",
"mtime": 1786872888.3482232,
"ast_hash": "4e79684942234b26f4a1fb03fccd6d35",
"semantic_hash": ""
},
".agents/skills/find-skills/SKILL.md": {
@@ -225,8 +225,8 @@
"semantic_hash": ""
},
"backend/api_test.go": {
"mtime": 1786863966.7056258,
"ast_hash": "0d443b4fe3c04ab057505d73b8a88d07",
"mtime": 1786868080.2317674,
"ast_hash": "b64372df5429fb14e48b37b3bab10402",
"semantic_hash": ""
},
"backend/cover_test.go": {
@@ -235,9 +235,9 @@
"semantic_hash": ""
},
"backend/internal/api/handlers.go": {
"mtime": 1786363889.552731,
"ast_hash": "59e6b8767ab19839bb8f82891a7e4616",
"semantic_hash": "59e6b8767ab19839bb8f82891a7e4616"
"mtime": 1786867745.788687,
"ast_hash": "ae4f3b961450f06a06e0632eb273a5b2",
"semantic_hash": ""
},
"backend/internal/httpmw/middleware.go": {
"mtime": 1786216141.672644,
@@ -260,8 +260,8 @@
"semantic_hash": ""
},
"backend/internal/latest/poller.go": {
"mtime": 1786865046.096795,
"ast_hash": "2bfb51177e3df474b80ea1b05523377e",
"mtime": 1786872774.641225,
"ast_hash": "5e55e2ac5cb7d347807754f92425d29b",
"semantic_hash": ""
},
"backend/internal/latest/poller_test.go": {
@@ -270,8 +270,8 @@
"semantic_hash": ""
},
"backend/internal/latest/sites.go": {
"mtime": 1786861012.026504,
"ast_hash": "9b90f9b710ccbd0d0a0a6a0dd721ff3c",
"mtime": 1786868771.0663204,
"ast_hash": "5786000dd0dfd5b4b3bd2b87b1fc100b",
"semantic_hash": ""
},
"backend/internal/latest/sites_test.go": {
@@ -340,13 +340,13 @@
"semantic_hash": "0b6764a0ee20f5cb7748eecd31a1d220"
},
"backend/internal/store/store.go": {
"mtime": 1786863704.5112119,
"ast_hash": "989629af18232e35b12f1eef2a8cb422",
"mtime": 1786868763.646761,
"ast_hash": "34f55617b7409f03f02e925bec92fac0",
"semantic_hash": ""
},
"backend/internal/store/store_test.go": {
"mtime": 1786863712.075631,
"ast_hash": "e48f21e34238ba46874cc88cf96e022f",
"mtime": 1786867781.301985,
"ast_hash": "16f69d97eb63bcec7409294466642411",
"semantic_hash": ""
},
"backend/internal/userscript/userscript.go": {
@@ -395,8 +395,8 @@
"semantic_hash": "8008a187690764436540fab47ba0cfcc"
},
"userscript/novel-bookmark.user.js": {
"mtime": 1786499529.779988,
"ast_hash": "834effb0821f8d6c9f57f6554a5db462",
"mtime": 1786872902.809149,
"ast_hash": "36c81462919719f0e053ca5d633a243a",
"semantic_hash": ""
},
"userscript/test/novel-logic.test.js": {
@@ -425,13 +425,13 @@
"semantic_hash": "6c6f3e4c4c2f57867894280bce728c50"
},
"backend/AGENTS.md": {
"mtime": 1786865319.314815,
"ast_hash": "5bbabcd7dd425302cb0d989d8897baf6",
"mtime": 1786872951.3127444,
"ast_hash": "68bc86af9593adad1e37fa05188fe63e",
"semantic_hash": ""
},
"backend/CLAUDE.md": {
"mtime": 1786865319.314815,
"ast_hash": "5bbabcd7dd425302cb0d989d8897baf6",
"mtime": 1786872951.3127444,
"ast_hash": "68bc86af9593adad1e37fa05188fe63e",
"semantic_hash": ""
},
"backend/internal/web/templates/app.html": {
@@ -658,5 +658,20 @@
"mtime": 1786865113.5362902,
"ast_hash": "8b9f9c7a56e0ec3bf950aa70acd95e92",
"semantic_hash": ""
},
"backend/internal/latest/sighting_test.go": {
"mtime": 1786868815.9760568,
"ast_hash": "3b1372bbeeb538b73f86f57da210b4cc",
"semantic_hash": ""
},
"backend/internal/store/migrations/0011_series_sightings.sql": {
"mtime": 1786867605.3728056,
"ast_hash": "d0ade928a6e951eb179e4d0255cca526",
"semantic_hash": ""
},
"docs/adr/0011-sighting-deferral-trust-model.md": {
"mtime": 1786872970.473592,
"ast_hash": "0b6ca704f62185c9d629320f2d8475b5",
"semantic_hash": ""
}
}