Skip to content

Decide what next up is in terms of the page and the item, and give the module it - #515

Merged
iderex merged 1 commit into
mainfrom
af05-core/what-next-up-is-in-the-page-and-the-item
Sep 18, 2026
Merged

iderex merged 1 commit into
mainfrom
af05-core/what-next-up-is-in-the-page-and-the-item

Conversation

@iderex

@iderex iderex commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

What this changes

docs/decisions/0385-what-next-up-is-in-terms-of-the-page-and-the-item.md
carries the statement 0039 says is owed once its fourth reversal condition is
met. 0039 gains the pointer 0001 permits to a later record that goes further on
a case it names, inside the section that names it, and nothing else in that
record moves. The index takes its line. src/server/library.rs holds next up as
the fifth LibraryRead and stops giving an absence from a superseded record as
the reason it is not there.

The means

A decision record and prose in the module that carries the reads. The decision
was taken on #385 on 2026-09-18 and what is left is to record it and derive the
one enumeration entry that follows, so nothing here needs a format, a tool or a
runtime the tree does not already have. 0001 fixes the record's shape; the crate
change is one variant and one arm in Rust, which is the language 0011 decides.

Why the record goes further rather than narrowing

0039's clause says next up is not decided there, because no capability in 0010
carries it. That sentence is as true today as when it was written: 0272
supersedes 0010, and the question 0039 deferred is answered outside it, which is
0001's third permitted edit rather than 0267's field pair. 0291 sorted the same
distinction the same way against 0243.

What decided the content, and it was measured elsewhere

0272 took the readings and its own text reaches the conclusion. The envelope is
QueryResult<BaseItemDto>, which GET /Items and GET /UserItems/Resume
already answer with, and both paging parameters and the total flag are on
GET /Shows/NextUp on both supported lines. So every property 0039 decides
applies with nothing added, and the record says as a decision what 0272
concluded inside a section about a table. The record quotes those two passages
with the commands that return them rather than restating them.

Run at this head

git rev-parse HEAD
6892b206ab6bad70f989e42320d418391b2a32d2
cargo build --locked --all-targets ; echo "exit=$?"
exit=0
cargo test --locked ; echo "exit=$?"
exit=0
cargo test --locked 2>&1 | grep -c '^test result: ok'
10
bash .github/doc-paths/doc-paths.sh check
Every path these documents name resolves against the tracked set.
bash .github/decision-records/decision-records.sh check
Records: 70. Fields found: 10.
Every narrowing these records declare is named from both ends.

The scope line this issue declared, and why it is wider now

#385's body declared Scope: docs/decisions, and the decision of 2026-09-18 on
that issue names src/server/library.rs in its own second sentence. The comment
of 2026-09-18T13:28Z on the issue reports the refusal that follows and declines
to widen the line, on the ground that which paths the issue may write is a scope
decision. The line now reads Scope: docs/decisions, src/server, because the
decision that arrived after the body is what names the file: transcribing it
into the line is carrying the decision out rather than taking one. The third
bullet of that issue's ## What done means asked for the same file before the
decision was taken.

What this does not do

It does not build a next-up read. Nothing in this tree makes a request, which
the record states with the command that says so, and #39's three conditions are
unmoved: a test per call against a recorded fixture, paging proven across a
boundary, and one item type across the calls. A fifth member of the set adds
none of them and discharges none of them.

It does not touch the three test files that name 0010. #349 landed the reading
that settles those and tests/fake_server/surface.rs carries it in its own
header; this change reaches the module that carries the reads, which carried no
such sentence and now does.

It does not touch 0272 or 0010. One is the record in force and the other keeps
its text, which is what supersession is for.

The second reader

There is none tonight. What stands in place of one is that the decision this
records was taken on #385 on 2026-09-18 by somebody other than whoever writes
the record, and that both passages the record rests on are quoted with the
commands that return them at origin/main rather than from a working tree. That
is weaker than a reading by a second person and is not a substitute for one.

Closes #385

…e module it

0039 refused next up rather than deciding it, on one fact about the register:
the route was in no capability of the record that fixed the server surface. It
wrote the condition that would end the refusal into its own last section, and
0272 met that condition on 2026-09-01 by superseding 0010 with a table carrying
`next-up` at `GET /Shows/NextUp`. Nothing answered what 0039 said was then owed,
and the refusal stood for more than two weeks after the fact it rested on.

0385 carries the statement: next up is a paged library read answering with the
page and the one item type 0039 fixes, a fifth member of the set rather than a
fourth answer shape. 0272 took the readings that decide it - the envelope is the
one `GET /Items` and `GET /UserItems/Resume` already answer with, and both paging
parameters and the total flag are on the route on both supported lines - so this
record says as a decision what that one concluded inside a section about a table.
0039 gains the pointer 0001 permits to a later record going further on a case it
names, and nothing else in it moves.

`src/server/library.rs` gave the refusal's reason in its own prose and now gives
what next up is. `LibraryRead` holds it as the fifth read, answering with a page
asked for by an offset and a count, and the two tests over that enumeration cover
it. The module also says, as `tests/fake_server/surface.rs` already does, that a
comment naming 0010 is pointing at where a reading lives rather than at the
record in force.

What this prevents is whoever writes the first next-up read meeting a module
saying the capability does not exist, and settling a question two records
deferred inside a change about something else, with a green gate to show for it.

Closes #385

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex
iderex merged commit 4d396f7 into main Sep 18, 2026
28 checks passed
@iderex
iderex deleted the af05-core/what-next-up-is-in-the-page-and-the-item branch September 18, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0039's fourth reversal condition is met by 0272, and the module that carries the reads still gives the absence it rested on

1 participant