Narrow CodingSource to the two bodies, and file Locality's remaining work
Mirror / push (push) Has been cancelled
Test / test (20) (pull_request) Successful in 1m33s
Test / test (22) (pull_request) Successful in 32s
Test / test (24) (pull_request) Successful in 33s
Test / test (26) (pull_request) Successful in 40s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
Mirror / push (push) Has been cancelled
Test / test (20) (pull_request) Successful in 1m33s
Test / test (22) (pull_request) Successful in 32s
Test / test (24) (pull_request) Successful in 33s
Test / test (26) (pull_request) Successful in 40s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
This commit is contained in:
+3
-3
@@ -75,23 +75,23 @@ type ResolvedBody = {
|
|||||||
* What the PDU's data_coding describes, and so what may set it: short_message wherever it holds an
|
* What the PDU's data_coding describes, and so what may set it: short_message wherever it holds an
|
||||||
* octet, since messageOctets() reads it there, and message_payload only where it does not.
|
* octet, since messageOctets() reads it there, and message_payload only where it does not.
|
||||||
*/
|
*/
|
||||||
type CodingSource = 'caller' | 'message_payload' | 'short_message';
|
type CodingSource = 'message_payload' | 'short_message';
|
||||||
|
|
||||||
function codingOf(params: Record<string, ParamValue | undefined>): number | undefined {
|
function codingOf(params: Record<string, ParamValue | undefined>): number | undefined {
|
||||||
return typeof params.data_coding === 'number' ? params.data_coding : undefined;
|
return typeof params.data_coding === 'number' ? params.data_coding : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Only the short_message the command's own table will write, since writeParams() ignores any other. */
|
|
||||||
function resolveShortMessage(
|
function resolveShortMessage(
|
||||||
params: Record<string, ParamValue | undefined>,
|
params: Record<string, ParamValue | undefined>,
|
||||||
definition: CommandDefinition,
|
definition: CommandDefinition,
|
||||||
): Result<{ params: Record<string, ParamValue | undefined>; source: CodingSource }> {
|
): Result<{ params: Record<string, ParamValue | undefined>; source: CodingSource }> {
|
||||||
|
// Only the short_message the command's own table will write, since writeParams() ignores any other.
|
||||||
const message = definition.params?.short_message === undefined ? undefined : params.short_message;
|
const message = definition.params?.short_message === undefined ? undefined : params.short_message;
|
||||||
|
|
||||||
if (Buffer.isBuffer(message)) {
|
if (Buffer.isBuffer(message)) {
|
||||||
return {
|
return {
|
||||||
params: params.sm_length === undefined ? { ...params, sm_length: message.length } : params,
|
params: params.sm_length === undefined ? { ...params, sm_length: message.length } : params,
|
||||||
source: message.length > 0 ? 'caller' : 'message_payload',
|
source: message.length > 0 ? 'short_message' : 'message_payload',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -190,8 +190,8 @@ A nine-reader comprehension panel read the whole project on 2026-09-20 and score
|
|||||||
mean 6.8. Navigation (7–8) capped nobody. **Locality capped every unit reader at 5–6 and Shape
|
mean 6.8. Navigation (7–8) capped nobody. **Locality capped every unit reader at 5–6 and Shape
|
||||||
capped both architects at 6**, and those two are what this release lifts. The gate is 7 on all four
|
capped both architects at 6**, and those two are what this release lifts. The gate is 7 on all four
|
||||||
dimensions, higher where it is cheap. Maintainer's call, 2026-09-20. A systems-architect review the
|
dimensions, higher where it is cheap. Maintainer's call, 2026-09-20. A systems-architect review the
|
||||||
same day returned ALIGN with one blocking-severity finding, which is the first item under Locality
|
same day returned ALIGN with one blocking-severity finding, `resolveBody`'s `settles` boolean, which
|
||||||
and is also what the panel ranked hardest — two methods, one answer.
|
the panel also ranked hardest; it is now a named `CodingSource`.
|
||||||
|
|
||||||
A four-seat scoring run on 2026-09-27 read #30 at 6, 6, 7 and 6, every seat capped by Locality in
|
A four-seat scoring run on 2026-09-27 read #30 at 6, 6, 7 and 6, every seat capped by Locality in
|
||||||
the held-message and shutdown code; #30 merged under the floor on condition that Locality is the
|
the held-message and shutdown code; #30 merged under the floor on condition that Locality is the
|
||||||
@@ -199,6 +199,10 @@ next work ([decision](docs/decisions.md#internals-and-tests)).
|
|||||||
|
|
||||||
### Locality — next, ahead of everything below; 5–6 today, and the gate is 7
|
### Locality — next, ahead of everything below; 5–6 today, and the gate is 7
|
||||||
|
|
||||||
|
- [ ] **Lift the held-message and shutdown code to Locality 7, and confirm it with a scoring run.**
|
||||||
|
The 2026-09-27 run capped every seat there; a run reading 7.0 or above also retires the #30
|
||||||
|
decision.
|
||||||
|
|
||||||
### Correctness
|
### Correctness
|
||||||
|
|
||||||
- [ ] **Settle what a repeated tag not marked `multiple` reads as, and pin it in a test.** A vendor
|
- [ ] **Settle what a repeated tag not marked `multiple` reads as, and pin it in a test.** A vendor
|
||||||
@@ -292,10 +296,10 @@ next work ([decision](docs/decisions.md#internals-and-tests)).
|
|||||||
|
|
||||||
- [ ] **Move the one-line facts out of the decision log and back to the code.** Five of nine readers
|
- [ ] **Move the one-line facts out of the decision log and back to the code.** Five of nine readers
|
||||||
independently reported being sent to `docs/decisions.md` for a question they hit while reading,
|
independently reported being sent to `docs/decisions.md` for a question they hit while reading,
|
||||||
with no link from the code; one counted roughly fifty index redirects. The four worth inlining
|
with no link from the code; one counted roughly fifty index redirects. The three left to inline
|
||||||
as one line each: that `segmentUnits`' three numbers are in two units (septets and octets),
|
as one line each: that `segmentUnits`' three numbers are in two units (septets and octets),
|
||||||
which body settles `data_coding`, that a receipt's body is read as octets whatever its
|
that a receipt's body is read as octets whatever its `data_coding` says, and the `<base>-<n>`
|
||||||
`data_coding` says, and the `<base>-<n>` id notation. The reasoning stays in the log; the
|
id notation. The reasoning stays in the log; the
|
||||||
definition belongs at the code.
|
definition belongs at the code.
|
||||||
|
|
||||||
- [ ] **Document the two delivery-receipt merge bounds.** `maxDlrMerges` (1000) and
|
- [ ] **Document the two delivery-receipt merge bounds.** `maxDlrMerges` (1000) and
|
||||||
|
|||||||
Reference in New Issue
Block a user