Skip to content

Cite the fork, at its revision, in the firmware pages - #103

Merged
QuiteYellow merged 2 commits into
mainfrom
docs/cite-the-fork
Sep 19, 2026
Merged

QuiteYellow merged 2 commits into
mainfrom
docs/cite-the-fork

Conversation

@QuiteYellow

@QuiteYellow QuiteYellow commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Follows #100, which wrote the page this corrects, and #101, which is where the vocabulary comes from.

The anchoring method pointed at the wrong tree. docs/firmware-families.md said to match a device log's file:line pairs against upstream release tags. The page's own worked example is the demonstration: the log's ocstack.c:537 sits 11 lines past upstream 1.2.1's 526, and 1 line off Samsung's fork at 538. Both readings get the era right; one of them gets the tree right. Anchoring now runs against the vendor tree, with upstream kept for the floor and for showing what Samsung changed.

Picking the revision is the same method run over that tree's history, so the page describes it: record the drift for each anchor, expect the appliance's line numbers to sit a little after the tree's, and take the minimum of the summed absolute drift. Two cautions come with it. The answer is an era rather than a commit, because many revisions are identical on every anchor. And some strings in these logs are in no public revision of anything, which git log -S over the full history establishes and a look at the tip does not — one of them also appears in a console capture from a different Samsung product, so that patch layer is shared across device families rather than specific to a model.

Three TizenRT build choices get their own section, because each decides what discovery can reach and none is visible from upstream source: IPv6 is compiled out rather than merely unbound, multicast TTL is pinned to 1 so discovery cannot leave the segment, and the build is a TCP client with no server role, so /oic/res advertises no TCP port to find.

The binding table's citations move to fork line numbers, and a sentence spells out what "kernel-assigned" means there: the unicast pair's ports start at 0, CACreateSocket binds that, and getsockname reads back what the kernel chose.

docs/certificates.md gives both trees for the peerId claim, where the code is the same in each, and docs/use-of-ai.md's citation rule gains "at the right revision" — a fork of the same stack is what went wrong this time, not a different stack.

800 tests pass. docs/api.md is unchanged — no docstrings here. Share safety is clean; the one thing it caught was an IPv6 literal for the OCF multicast group, which the text now names instead of spelling.

docs/firmware-families.md taught anchoring a device log's file:line
pairs against upstream release tags. Its own worked example shows what
that costs: the log's ocstack.c:537 sits 11 lines past upstream 1.2.1
and 1 line off Samsung's fork at 538. Both readings get the era right
and only one gets the tree right.

The section now anchors against the vendor tree, describes the drift
method over that tree's own history, and says to read the result as an
era rather than a commit, since many revisions are identical on every
anchor. It also records that some logged strings are in no public
revision at all — established with git log -S over the full history, not
a look at the tip — and that at least one of them turns up in a capture
from a different Samsung product, so that patch layer is shared across
device families.

The binding table's citations move to fork line numbers, and a new
section covers three TizenRT build choices that decide what discovery
can reach: IPv6 compiled out rather than unbound, multicast TTL pinned
to 1, and a TCP client with no server role.

certificates.md gives both trees for the peerId claim, where the code is
the same in each. use-of-ai.md's citation rule gains "at the right
revision", since a fork of the same stack is what went wrong this time.
The peerId citation pointed at the pin table in AGENTS.md, which arrives
with #102 and is not on main yet. test_links_between_markdown_files_
resolve maps a blob/main URL back to a local path, so the link failed
the suite on this branch and would have coupled two independent changes
in the merge order.

The line names the fork and gives both trees' line numbers itself,
which is what a reader needs at that point anyway.
@QuiteYellow
QuiteYellow merged commit d684d15 into main Sep 19, 2026
8 checks passed
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.

1 participant