docs: eNet is Implemented — in eos, not here - #1
Open
srpatcha wants to merge 1 commit into
Open
Conversation
The README said "Status: Planned. There is no implementation yet." The first
half is now wrong. eNet has 25 public functions in eos/net/include/eos/net.h,
a POSIX backend in net/src/net_posix.c, and test_net passing in the eos
suite — which is §28's definition of Implemented: "feature exists and is
usable", evidenced by code and functional tests.
The second half stays true and is the point: none of it is in this
repository, deliberately.
Replaces the §24 citation with v2.0's two statements, which are sharper:
§10: Repositories should not be the dependency API.
§21.1: Do not create a separate repository merely to create a branded
name. A subsystem earns a separate repository when it has a stable
interface, independent release lifecycle, clear maintainers and multiple
consumers.
Adds what the alternative actually is, which the old text left implicit:
depend on eNet through a component manifest. That format now exists —
embeddedos-org/embeddedos-stack#20 — and manifests/enet-wifi.yml is the
worked example, chosen precisely because this repository is empty.
Also states the cost of getting the split wrong, since the platform is
already paying it. Two independent Ed25519 implementations (eos, eBoot) and
two OTA implementations (eos, eos-health), and each pair has drifted: the
same low-order-key bypass in both Ed25519 copies, and eos-health's OTA
calling a verification function defined nowhere. Splitting code across
repositories before a component model exists is how that happens.
Finally, names the four conditions under which this repository would earn
code, so "when do we move it" has an answer rather than being a judgement
call each time it is raised.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This repository has three files:
.gitignore,LICENSE,README.md. The READMEsaid:
The first sentence is now wrong. eNet is Implemented — 25 public functions in
eos/net/include/eos/net.h, a POSIX backend innet/src/net_posix.c, andtest_netpassing in the eos suite. That is §28's definition: "feature existsand is usable", evidenced by code and functional tests.
The second sentence stays true, and is the point: none of it is here, on purpose.
What changes
The status is corrected, so the README stops describing a subsystem that was
built three weeks ago as unstarted.
The rationale cites v2.0, which is sharper than the §24 line it replaces:
It says what to do instead. The old text explained what not to do and left
the alternative implicit. Depend on eNet through a component manifest — that
format now exists (embeddedos-org/embeddedos-stack#20), and
enet/wifiis itsworked example, chosen because this repository is empty.
It states the cost of getting the split wrong, because the platform is
already paying it: two independent Ed25519 implementations (eos, eBoot) and two
OTA implementations (eos, eos-health), each pair drifted — the same low-order-key
bypass in both Ed25519 copies, and eos-health's OTA calling a verification
function defined nowhere.
It names the four conditions under which this repository would earn code, so
that question has an answer instead of being re-argued.
Why not just put code here
Because §21.1's conditions are not met, and I checked each:
net.his 0.x and still movingitself only just proposed
Copying
eos/net/here would create a third instance of the duplication problemdescribed above, in a repository whose own README warns against it.