Release 1.0: what stands between routewatch and a release candidate #86

Open
opened 2026-10-14 22:25:51 +02:00 by clawbot · 11 comments
Collaborator

What stands between routewatch and a 1.0 release candidate. Every open bug is fixed before any release-candidate tag (sneak/project-management#32). The state is kept in the comments here.

Model: opus-5-5

What stands between routewatch and a 1.0 release candidate. Every open bug is fixed before any release-candidate tag (https://git.eeqj.de/sneak/project-management/issues/32). The state is kept in the comments here. Model: opus-5-5
clawbot self-assigned this 2026-10-14 22:25:51 +02:00
Author
Collaborator

State on 2026-10-14, when this repository's manager slot ended. next is green.

Done on next: #53, #54, #57, #67, #68, #71, #73.

Open PRs:

  • Waiting for a review: #82 (critical), #83, #79 (after two reworks), #85. PR 83 lets a handler's batch grow without limit while a write runs; its reviewer weighs that against the 5 GiB memory budget.
  • Waiting for a rework: #80 (two findings, and a rebase).

Open issues with no PR: #56 (critical, after 55), #74 and #76 (streamer, unblocked), #75 (after 55), #69 (after 65), #72 (README and TODO.md, last; plan on the issue).

Live run of the code before these fixes (00e51d2, 5 hours): memory peaked at 616 MiB, the database reached 6.9 GB with 15.8 million live routes, and the prefix handler dropped a fifth of its updates. The live tables keep one row per prefix and peer, so they keep growing toward peers times prefixes. Disk size at steady state, and start-up time on a large database against upaas's 60-second health check, are still to be measured on the fixed code.

Next unit: reviews of #82 and #83, then #56.

Model: opus-5-5

State on 2026-10-14, when this repository's manager slot ended. `next` is green. Done on `next`: https://git.eeqj.de/sneak/routewatch/issues/53, https://git.eeqj.de/sneak/routewatch/issues/54, https://git.eeqj.de/sneak/routewatch/issues/57, https://git.eeqj.de/sneak/routewatch/issues/67, https://git.eeqj.de/sneak/routewatch/issues/68, https://git.eeqj.de/sneak/routewatch/issues/71, https://git.eeqj.de/sneak/routewatch/issues/73. Open PRs: - Waiting for a review: https://git.eeqj.de/sneak/routewatch/pulls/82 (critical), https://git.eeqj.de/sneak/routewatch/pulls/83, https://git.eeqj.de/sneak/routewatch/pulls/79 (after two reworks), https://git.eeqj.de/sneak/routewatch/pulls/85. PR 83 lets a handler's batch grow without limit while a write runs; its reviewer weighs that against the 5 GiB memory budget. - Waiting for a rework: https://git.eeqj.de/sneak/routewatch/pulls/80 (two findings, and a rebase). Open issues with no PR: https://git.eeqj.de/sneak/routewatch/issues/56 (critical, after 55), https://git.eeqj.de/sneak/routewatch/issues/74 and https://git.eeqj.de/sneak/routewatch/issues/76 (streamer, unblocked), https://git.eeqj.de/sneak/routewatch/issues/75 (after 55), https://git.eeqj.de/sneak/routewatch/issues/69 (after 65), https://git.eeqj.de/sneak/routewatch/issues/72 (README and `TODO.md`, last; plan on the issue). Live run of the code before these fixes (`00e51d2`, 5 hours): memory peaked at 616 MiB, the database reached 6.9 GB with 15.8 million live routes, and the prefix handler dropped a fifth of its updates. The live tables keep one row per prefix and peer, so they keep growing toward peers times prefixes. Disk size at steady state, and start-up time on a large database against upaas's 60-second health check, are still to be measured on the fixed code. Next unit: reviews of https://git.eeqj.de/sneak/routewatch/pulls/82 and https://git.eeqj.de/sneak/routewatch/pulls/83, then https://git.eeqj.de/sneak/routewatch/issues/56. Model: opus-5-5
Author
Collaborator

State on 2026-10-19 (new manager session). next is green.

Landed today: #55, #65, #70.

In flight: rework of #79 (fourth review asked for an index so a prefix's newest route is one search), and #56 (plan on the issue).

Queue, in order: #85 redone from sneak/prompts 0653579 (plan on #52), then #76, #74, #75, #69, #72 last. Then a run on the live feed until steady state, and the audit of the candidate commit.

Model: opus-5-5

State on 2026-10-19 (new manager session). `next` is green. Landed today: https://git.eeqj.de/sneak/routewatch/issues/55, https://git.eeqj.de/sneak/routewatch/issues/65, https://git.eeqj.de/sneak/routewatch/issues/70. In flight: rework of https://git.eeqj.de/sneak/routewatch/pulls/79 (fourth review asked for an index so a prefix's newest route is one search), and https://git.eeqj.de/sneak/routewatch/issues/56 (plan on the issue). Queue, in order: https://git.eeqj.de/sneak/routewatch/pulls/85 redone from `sneak/prompts` `0653579` (plan on https://git.eeqj.de/sneak/routewatch/issues/52), then https://git.eeqj.de/sneak/routewatch/issues/76, https://git.eeqj.de/sneak/routewatch/issues/74, https://git.eeqj.de/sneak/routewatch/issues/75, https://git.eeqj.de/sneak/routewatch/issues/69, https://git.eeqj.de/sneak/routewatch/issues/72 last. Then a run on the live feed until steady state, and the audit of the candidate commit. Model: opus-5-5
Author
Collaborator

State on 2026-10-19, 11:15 UTC. next is green.

Landed since the last state comment: #66, #56, #76, #52, #74, #92, #75, #69.

A run on the live feed of 825afa2 (critical fixes in) has been going since 09:44 UTC; it found #94 and #96, both now being fixed. Still measured on that run: whether the live route tables stop growing, and start-up time on the large file.

Then #72 (README and TODO.md), a run of the fixed code, and the audit.

Model: opus-5-5

State on 2026-10-19, 11:15 UTC. `next` is green. Landed since the last state comment: https://git.eeqj.de/sneak/routewatch/issues/66, https://git.eeqj.de/sneak/routewatch/issues/56, https://git.eeqj.de/sneak/routewatch/issues/76, https://git.eeqj.de/sneak/routewatch/issues/52, https://git.eeqj.de/sneak/routewatch/issues/74, https://git.eeqj.de/sneak/routewatch/issues/92, https://git.eeqj.de/sneak/routewatch/issues/75, https://git.eeqj.de/sneak/routewatch/issues/69. A run on the live feed of `825afa2` (critical fixes in) has been going since 09:44 UTC; it found https://git.eeqj.de/sneak/routewatch/issues/94 and https://git.eeqj.de/sneak/routewatch/issues/96, both now being fixed. Still measured on that run: whether the live route tables stop growing, and start-up time on the large file. Then https://git.eeqj.de/sneak/routewatch/issues/72 (README and `TODO.md`), a run of the fixed code, and the audit. Model: opus-5-5
Author
Collaborator

State on 2026-10-19, 14:15 UTC. next is at ef32082; no issue describing a bug is open.

Landed since the last state comment: #94, #96, #72.

Running now:

  • The audit of ef32082; its findings will be filed as issues and fixed before anything else.
  • A run of d84dd56 (the same code; ef32082 changed only README and TODO.md) on the live feed since 13:45 UTC, the final check of #96. In its first half hour the prefix handler dropped nothing; the run on the code before that change had dropped over a quarter of its updates.

Model: opus-5-5

State on 2026-10-19, 14:15 UTC. `next` is at `ef32082`; no issue describing a bug is open. Landed since the last state comment: https://git.eeqj.de/sneak/routewatch/issues/94, https://git.eeqj.de/sneak/routewatch/issues/96, https://git.eeqj.de/sneak/routewatch/issues/72. Running now: - The audit of `ef32082`; its findings will be filed as issues and fixed before anything else. - A run of `d84dd56` (the same code; `ef32082` changed only README and `TODO.md`) on the live feed since 13:45 UTC, the final check of https://git.eeqj.de/sneak/routewatch/issues/96. In its first half hour the prefix handler dropped nothing; the run on the code before that change had dropped over a quarter of its updates. Model: opus-5-5
Author
Collaborator

The audit of ef32082339da22ffd2f770f00f7903fbd1a4102a is done. Eleven independent finders by dimension, three skeptics per claim with a majority refuting, two further finder rounds and a completeness critic with a follow-up round, all of which found nothing new; 35 claims, 7 refuted. I judged the 28 that stood myself and merged near-duplicates into 22 issues, all assigned to clawbot.

Issues filed:

  • high: #103 (the home page cannot look up IPv6; percent-encoded parameters answer 400)
  • medium: #100 (shutdown vs upaas's 10-second stop grace, deadline ignored), #101 (a failed or cut-short peer-down delete is lost for good), #102 (the 5-second TRUNCATE checkpoint blocks writes while any read runs), #104 (the AS page reads every route of the AS), #105 (a failed WHOIS lookup is stored as complete for 30 days), #107 (Go 1.24 base image out of support), #108 (HTTP hardening the policy requires before 1.0)
  • low: #106, #109, #110, #111, #112, #113, #114, #115, #116, #117, #118, #119, #120, #121

Not filed: the module path (git.eeqj.de/sneak/routewatch where the policy says sneak.berlin/go/ plus the name) has no runtime effect and is the owner's call. Refuted or ruled, so not filed: the write stall of a full-table peer delete, the next-hop column showing the peer address, the transient WAL size of a big delete, the schema file's location versus the migrations layout.

Could not check:

  • Nothing was run (no build, test or query): every timing in the issues (final flush, peer delete, AS page, checkpoint wait) is reasoned from the code, the schema and the live-feed figures, not measured.
  • What the upaas proxy adds or strips (forwarded and security headers) is outside the repo; its 10-second stop grace was read from upaas's source.
  • The live run in progress was not used.
  • Image digests were not resolved to versions (no docker); the Go 1.24 pin is taken from the Dockerfile comment.
  • Whether a STATE message's peer string always equals the UPDATE peer string of the same peer, and whether RIRs refuse rate-limited queries with an error text, is from knowledge, not verified.

Known items:

  • announcements table: nothing writes it, README says so; an unbuilt feature, not a finding.
  • IP lookup with disagreeing origins: it returns the prefix's oldest route (first in the (prefix, last_updated) index), deterministically; documented design, not a finding.
  • Home page AS name search: the page says "AS name search coming soon"; an unbuilt feature, not a finding.

Judgement calls:

  • #108 overrules two of three skeptics, who refuted the headers and forwarded-header items as context my brief had listed; filed because REPO_POLICIES ties them to the 1.0 tag this issue is about.
  • The follow-up finder rounds and the critic failed once on a session limit and were rerun to completion before this comment.

Model: fable-5-1

The audit of `ef32082339da22ffd2f770f00f7903fbd1a4102a` is done. Eleven independent finders by dimension, three skeptics per claim with a majority refuting, two further finder rounds and a completeness critic with a follow-up round, all of which found nothing new; 35 claims, 7 refuted. I judged the 28 that stood myself and merged near-duplicates into 22 issues, all assigned to `clawbot`. Issues filed: - high: https://git.eeqj.de/sneak/routewatch/issues/103 (the home page cannot look up IPv6; percent-encoded parameters answer 400) - medium: https://git.eeqj.de/sneak/routewatch/issues/100 (shutdown vs upaas's 10-second stop grace, deadline ignored), https://git.eeqj.de/sneak/routewatch/issues/101 (a failed or cut-short peer-down delete is lost for good), https://git.eeqj.de/sneak/routewatch/issues/102 (the 5-second TRUNCATE checkpoint blocks writes while any read runs), https://git.eeqj.de/sneak/routewatch/issues/104 (the AS page reads every route of the AS), https://git.eeqj.de/sneak/routewatch/issues/105 (a failed WHOIS lookup is stored as complete for 30 days), https://git.eeqj.de/sneak/routewatch/issues/107 (Go 1.24 base image out of support), https://git.eeqj.de/sneak/routewatch/issues/108 (HTTP hardening the policy requires before 1.0) - low: https://git.eeqj.de/sneak/routewatch/issues/106, https://git.eeqj.de/sneak/routewatch/issues/109, https://git.eeqj.de/sneak/routewatch/issues/110, https://git.eeqj.de/sneak/routewatch/issues/111, https://git.eeqj.de/sneak/routewatch/issues/112, https://git.eeqj.de/sneak/routewatch/issues/113, https://git.eeqj.de/sneak/routewatch/issues/114, https://git.eeqj.de/sneak/routewatch/issues/115, https://git.eeqj.de/sneak/routewatch/issues/116, https://git.eeqj.de/sneak/routewatch/issues/117, https://git.eeqj.de/sneak/routewatch/issues/118, https://git.eeqj.de/sneak/routewatch/issues/119, https://git.eeqj.de/sneak/routewatch/issues/120, https://git.eeqj.de/sneak/routewatch/issues/121 Not filed: the module path (`git.eeqj.de/sneak/routewatch` where the policy says `sneak.berlin/go/` plus the name) has no runtime effect and is the owner's call. Refuted or ruled, so not filed: the write stall of a full-table peer delete, the next-hop column showing the peer address, the transient WAL size of a big delete, the schema file's location versus the migrations layout. Could not check: - Nothing was run (no build, test or query): every timing in the issues (final flush, peer delete, AS page, checkpoint wait) is reasoned from the code, the schema and the live-feed figures, not measured. - What the upaas proxy adds or strips (forwarded and security headers) is outside the repo; its 10-second stop grace was read from upaas's source. - The live run in progress was not used. - Image digests were not resolved to versions (no docker); the Go 1.24 pin is taken from the Dockerfile comment. - Whether a STATE message's `peer` string always equals the UPDATE `peer` string of the same peer, and whether RIRs refuse rate-limited queries with an error text, is from knowledge, not verified. Known items: - `announcements` table: nothing writes it, README says so; an unbuilt feature, not a finding. - IP lookup with disagreeing origins: it returns the prefix's oldest route (first in the `(prefix, last_updated)` index), deterministically; documented design, not a finding. - Home page AS name search: the page says "AS name search coming soon"; an unbuilt feature, not a finding. Judgement calls: - https://git.eeqj.de/sneak/routewatch/issues/108 overrules two of three skeptics, who refuted the headers and forwarded-header items as context my brief had listed; filed because REPO_POLICIES ties them to the 1.0 tag this issue is about. - The follow-up finder rounds and the critic failed once on a session limit and were rerun to completion before this comment. Model: fable-5-1
Author
Collaborator

State on 2026-10-19, 23:15 UTC.

The audit's findings are being fixed one PR each. Landed: #101, #102, #103, #104, #105, #106, #107. In progress: #100 and #108. Then the low-severity ones.

The run of d84dd56 on the live feed confirmed #96 for its first three hours (nothing dropped), then showed the route tables never stop growing (37.8 million routes and 13.5 GB after 8 hours, the prefix handler dropping over half its updates by then). That is a question for sneak on #122.

Model: opus-5-5

State on 2026-10-19, 23:15 UTC. The audit's findings are being fixed one PR each. Landed: https://git.eeqj.de/sneak/routewatch/issues/101, https://git.eeqj.de/sneak/routewatch/issues/102, https://git.eeqj.de/sneak/routewatch/issues/103, https://git.eeqj.de/sneak/routewatch/issues/104, https://git.eeqj.de/sneak/routewatch/issues/105, https://git.eeqj.de/sneak/routewatch/issues/106, https://git.eeqj.de/sneak/routewatch/issues/107. In progress: https://git.eeqj.de/sneak/routewatch/issues/100 and https://git.eeqj.de/sneak/routewatch/issues/108. Then the low-severity ones. The run of `d84dd56` on the live feed confirmed https://git.eeqj.de/sneak/routewatch/issues/96 for its first three hours (nothing dropped), then showed the route tables never stop growing (37.8 million routes and 13.5 GB after 8 hours, the prefix handler dropping over half its updates by then). That is a question for sneak on https://git.eeqj.de/sneak/routewatch/issues/122. Model: opus-5-5
Author
Collaborator

State on 2026-10-20, 02:40 UTC. next is at 71ee2ae and green.

Every issue the audit of ef32082 filed is fixed on next, each through a reviewed PR, with the four found along the way: #92, #94, #131, #141.

One thing stands between next and a release candidate: #122, sneak's choice of which peers routewatch keeps routes from. Keeping every RIS peer, the tables never stop growing, and past about 20 million routes the prefix handler loses updates. The fix follows his answer.

71ee2ae is now running on the live feed to confirm the audit fixes there.

For the deploy, since #108: TRUSTED_PROXIES must name the reverse proxy's address, or /ip/ shows the proxy's address instead of the caller's.

Model: opus-5-5

State on 2026-10-20, 02:40 UTC. `next` is at `71ee2ae` and green. Every issue the audit of `ef32082` filed is fixed on `next`, each through a reviewed PR, with the four found along the way: https://git.eeqj.de/sneak/routewatch/issues/92, https://git.eeqj.de/sneak/routewatch/issues/94, https://git.eeqj.de/sneak/routewatch/issues/131, https://git.eeqj.de/sneak/routewatch/issues/141. One thing stands between `next` and a release candidate: https://git.eeqj.de/sneak/routewatch/issues/122, sneak's choice of which peers routewatch keeps routes from. Keeping every RIS peer, the tables never stop growing, and past about 20 million routes the prefix handler loses updates. The fix follows his answer. `71ee2ae` is now running on the live feed to confirm the audit fixes there. For the deploy, since https://git.eeqj.de/sneak/routewatch/issues/108: `TRUSTED_PROXIES` must name the reverse proxy's address, or `/ip/` shows the proxy's address instead of the caller's. Model: opus-5-5
Author
Collaborator

State on 26 October, 20:30 UTC (new manager session). next is at 71ee2ae, green, and equal to main.

Order of work, one reviewed PR each:

  1. sneak's 22 October reports: #151 (in progress), #159, #160. #150 needs no change: the 500 came from the code that ran before the 22 October deploy (finding on the issue).
  2. Defects found while checking the UI: #162, #163.
  3. His UI requests: #152, #153, #155, #154, #156, then #158 and #161.
  4. #122, the pruned routing table, in several PRs.
  5. A run on the live feed to steady state, then #157, then the release candidate.

Model: opus-5-5

State on 26 October, 20:30 UTC (new manager session). `next` is at `71ee2ae`, green, and equal to `main`. Order of work, one reviewed PR each: 1. sneak's 22 October reports: https://git.eeqj.de/sneak/routewatch/issues/151 (in progress), https://git.eeqj.de/sneak/routewatch/issues/159, https://git.eeqj.de/sneak/routewatch/issues/160. https://git.eeqj.de/sneak/routewatch/issues/150 needs no change: the 500 came from the code that ran before the 22 October deploy (finding on the issue). 2. Defects found while checking the UI: https://git.eeqj.de/sneak/routewatch/issues/162, https://git.eeqj.de/sneak/routewatch/issues/163. 3. His UI requests: https://git.eeqj.de/sneak/routewatch/issues/152, https://git.eeqj.de/sneak/routewatch/issues/153, https://git.eeqj.de/sneak/routewatch/issues/155, https://git.eeqj.de/sneak/routewatch/issues/154, https://git.eeqj.de/sneak/routewatch/issues/156, then https://git.eeqj.de/sneak/routewatch/issues/158 and https://git.eeqj.de/sneak/routewatch/issues/161. 4. https://git.eeqj.de/sneak/routewatch/issues/122, the pruned routing table, in several PRs. 5. A run on the live feed to steady state, then https://git.eeqj.de/sneak/routewatch/issues/157, then the release candidate. Model: opus-5-5
Author
Collaborator

State on 27 October. next is at 7e13f28, green, and #166 holds it for main.

Done on next since the last state comment: #151, #152, #153, #155, #156, #158, #159, #160, and the defects found on the way: #162, #163, #165, #168, #173, #174, #177.

Now: #122, the pruned routing table in memory, in five PRs (plan on the issue). Then #154, which reads that table, the live-feed run, #157 and the release candidate.

Waiting on sneak: #161, which history the prefix page keeps.

Model: opus-5-5

State on 27 October. `next` is at `7e13f28`, green, and https://git.eeqj.de/sneak/routewatch/pulls/166 holds it for `main`. Done on `next` since the last state comment: https://git.eeqj.de/sneak/routewatch/issues/151, https://git.eeqj.de/sneak/routewatch/issues/152, https://git.eeqj.de/sneak/routewatch/issues/153, https://git.eeqj.de/sneak/routewatch/issues/155, https://git.eeqj.de/sneak/routewatch/issues/156, https://git.eeqj.de/sneak/routewatch/issues/158, https://git.eeqj.de/sneak/routewatch/issues/159, https://git.eeqj.de/sneak/routewatch/issues/160, and the defects found on the way: https://git.eeqj.de/sneak/routewatch/issues/162, https://git.eeqj.de/sneak/routewatch/issues/163, https://git.eeqj.de/sneak/routewatch/issues/165, https://git.eeqj.de/sneak/routewatch/issues/168, https://git.eeqj.de/sneak/routewatch/issues/173, https://git.eeqj.de/sneak/routewatch/issues/174, https://git.eeqj.de/sneak/routewatch/issues/177. Now: https://git.eeqj.de/sneak/routewatch/issues/122, the pruned routing table in memory, in five PRs (plan on the issue). Then https://git.eeqj.de/sneak/routewatch/issues/154, which reads that table, the live-feed run, https://git.eeqj.de/sneak/routewatch/issues/157 and the release candidate. Waiting on sneak: https://git.eeqj.de/sneak/routewatch/issues/161, which history the prefix page keeps. Model: opus-5-5
Author
Collaborator

README.md at 742e759 read whole against the prose rules of #157: no sentence fails.

Model: fable-5-1

`README.md` at `742e759` read whole against the prose rules of https://git.eeqj.de/sneak/routewatch/issues/157: no sentence fails. Model: fable-5-1
Author
Collaborator

State on 2026-11-03, 20:20 UTC. Work on this repo is paused for the homoicon beta; nothing is running, and no container is left. next is at 15bf20a, passes script/cibuild, and is 17 commits ahead of main.

Open PRs. Only #202 (next into main): merge-ready, assigned to sneak, body lists everything on the branch. No other PR is open, so none has failed reviews pending.

Done on next since the last state comment. From the five-day run of the live feed: #216, #217, #218, #222. From later runs: #225, #226, #229. README.md and TODO.md are rewritten (#157); a fresh read of the README at 742e759 found no failing sentence.

Left, in order.

  1. Run next on the live feed for at least 24 hours to confirm #229; the run of 15bf20a was stopped after 3 hours. File what it finds.
  2. #203: sneak answered on 2026-11-03 (#203 (comment)). Next is a plan that splits it into one issue per PR: the response's shape and the 200 MiB download cap first; then Onionoo, the VPN lists (ProtonVPN still to be found), the iCloud Private Relay list, PTR over DNS-over-HTTPS with its cache, and geolocation with its cache and DB-IP City Lite. The planning session was stopped before it filed anything.
  3. #161 waits on sneak.

Model: opus-5-5

State on 2026-11-03, 20:20 UTC. Work on this repo is paused for the homoicon beta; nothing is running, and no container is left. `next` is at `15bf20a`, passes `script/cibuild`, and is 17 commits ahead of `main`. **Open PRs.** Only https://git.eeqj.de/sneak/routewatch/pulls/202 (`next` into `main`): `merge-ready`, assigned to sneak, body lists everything on the branch. No other PR is open, so none has failed reviews pending. **Done on `next` since the last state comment.** From the five-day run of the live feed: https://git.eeqj.de/sneak/routewatch/issues/216, https://git.eeqj.de/sneak/routewatch/issues/217, https://git.eeqj.de/sneak/routewatch/issues/218, https://git.eeqj.de/sneak/routewatch/issues/222. From later runs: https://git.eeqj.de/sneak/routewatch/issues/225, https://git.eeqj.de/sneak/routewatch/issues/226, https://git.eeqj.de/sneak/routewatch/issues/229. `README.md` and `TODO.md` are rewritten (https://git.eeqj.de/sneak/routewatch/issues/157); a fresh read of the README at `742e759` found no failing sentence. **Left, in order.** 1. Run `next` on the live feed for at least 24 hours to confirm https://git.eeqj.de/sneak/routewatch/issues/229; the run of `15bf20a` was stopped after 3 hours. File what it finds. 2. https://git.eeqj.de/sneak/routewatch/issues/203: sneak answered on 2026-11-03 (https://git.eeqj.de/sneak/routewatch/issues/203#issuecomment-165190). Next is a plan that splits it into one issue per PR: the response's shape and the 200 MiB download cap first; then Onionoo, the VPN lists (ProtonVPN still to be found), the iCloud Private Relay list, PTR over DNS-over-HTTPS with its cache, and geolocation with its cache and DB-IP City Lite. The planning session was stopped before it filed anything. 3. https://git.eeqj.de/sneak/routewatch/issues/161 waits on sneak. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/routewatch#86