Skip to content

docs(pack): four judgement rows move from 'to be verified' to measured - #465

Merged
Sunrisepeak merged 1 commit into
mainfrom
docs/pack-review-measured-rows
Aug 20, 2026
Merged

docs(pack): four judgement rows move from 'to be verified' to measured#465
Sunrisepeak merged 1 commit into
mainfrom
docs/pack-review-measured-rows

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Follow-up to #464. Its own CI answered three of the open items in the two design
records under .agents/docs, and a record that still says 未核验 after the
measurement exists is one the next reader will re-derive.

item before now
Mach-O LC_RPATH leaks? 未核验,需在 macOS 上跑 does not leak — the packer reads LC_RPATH and warns when a package would carry one; the whole macOS e2e suite emitted none. A .dylib's relocatability comes from the link-time -install_name @rpath/, so packaging has nothing to rewrite.
macOS program packing runs the user's program 读码,需 macOS 核验 refused by format (2026.8.20.1), with a second piece of evidence: 249/250 were GREEN on macOS beforehand, and what they inspected was the bundle that run produced. Adding the refusal turned them red immediately.
a static archive cannot be --strip-alled 通用知识,落地前必须实测 measuredarchive has no index; run ranlib to add one; --strip-debug gives 2988 → 1244 bytes and the consumer links and runs (e2e 265 pins both sides).

P1-3 (the shipped .so's own DT_NEEDED closure is not checked against the
package + [dependencies]) stays unmeasured and unimplemented, and now says so
explicitly rather than by omission.

Documentation only — no source, no test, no workflow changes.

PR#464's own CI answered three of the open items in the two design records, and
a record that still says '未核验' after the measurement exists is a record that
will be re-derived by the next reader.

- Mach-O `LC_RPATH` does NOT leak. The packer now reads it and warns when a
  package would carry one; the whole macOS e2e suite emitted none. A .dylib's
  relocatability comes from the link-time `-install_name @rpath/`, so there is
  nothing for packaging to rewrite — which also retires the "needs checking"
  row in the cross-platform table.
- macOS program packing running the user's program is now refused by format,
  and there is a second piece of evidence worth recording: 249/250 were GREEN
  on macOS before this, and what they inspected was the bundle that run
  produced. Adding the refusal turned them red immediately.
- A static archive cannot be --strip-all'ed: measured (`archive has no index`;
  --strip-debug gives 2988 -> 1244 bytes and the consumer links and runs).

P1-3 (the shipped .so's own DT_NEEDED closure is not checked) stays unmeasured
and unimplemented, and now says so explicitly rather than by omission.
@Sunrisepeak
Sunrisepeak merged commit d98e972 into main Aug 20, 2026
20 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.

2 participants