Skip to content

docs: port ttl-editor's Semgrep posture into this copy, without losing ours - #90

Merged
sgort merged 1 commit into
accfrom
docs/port-ttl-semgrep-posture
Sep 11, 2026
Merged

sgort merged 1 commit into
accfrom
docs/port-ttl-semgrep-posture

Conversation

@sgort

@sgort sgort commented Sep 11, 2026

Copy link
Copy Markdown
Owner

The CI posture page lives in both repositories and had diverged in both directions. This ports ttl-editor's Semgrep work in without overwriting what only this copy has.

Ported from ttl-editor

  • The intro paragraph naming a fourth mechanism: Semgrep, which covers the npm dependency tree that check-supply-chain was never able to see
  • The Semgrep Code + SCA row in the summary table
  • The whole "The other supply chain: the npm tree" subsection under §2, copied verbatim. It was checked byte-identical to ttl-editor's
  • §4's account of ttl-editor's ruleset now requiring audit and scan, and its main asymmetry recorded as decided, not merely defensible
  • Open-work rows for ttl-editor fix(deps): update frontend dependencies #128 and Return RFC 9457 problem details from every backend error response #131

Kept, because only this copy has it

  • "Exercised, at last, in two of the three". ttl-editor's copy is stale here
  • The main promotion gate section and the ruleset lessons
  • The protected-environment table
  • "A workflow's own file in its paths: filter is a trigger"
  • "Behind is not the same as diverged"
  • Checklist items 10–12, chore(deps): update dependency node to v24 #80, and the 1.9.12 row

After the port, each of the five LDE-only headings was checked for presence. Overwriting either copy with the other would have repeated what ttl-editor's 11f7a78 records: patching a stale copy.

One sentence re-scoped rather than copied

ttl-editor's copy says "every control this document describes now gates acc and none of them gates main". That is true there. It is false here, where the next section describes Linked Data Explorer's own main promotion gate. It now reads as a statement about ttl-editor, with a pointer to the opposite case.

Heads table

ttl-editor's row moves to 7f95502, re-verified. This repository's row stays as its last pass recorded it; I did not update it without re-verifying.

This repository's own gap, now recorded

A new open-work row says what is missing here: no Semgrep scan, so the npm tree is remediated by Renovate and verified by nobody.

A local dry run on cfa6b40 found 86 findings:

  • 66 Supply Chain, all transitive and unreachable
  • 10 Code in application files
  • 6 Code in test files and 4 in examples/

Closing that gap is the next change.

Note for the iou-architectuur patch

This copy is now the more complete of the two. Use it as the source.

Verification

npm run check-format clean. Documentation only.

…g ours

The CI posture page lives in both repositories and had diverged in both
directions. ttl-editor's copy gained the Semgrep gate -- a fourth mechanism,
the npm dependency tree that check-supply-chain was never able to see -- and
its decision to leave main ungated. This copy gained the Linked Data Explorer
promotion: the main promotion gate, the protected-environment table, the
paths: self-trigger, "behind is not the same as diverged", and checklist items
10 to 12.

Overwriting one with the other would have repeated exactly the mistake 11f7a78
in ttl-editor records -- patching a stale copy. So this ports only the hunks
that exist in ttl-editor's copy and not here:

  - the intro paragraph naming the fourth mechanism
  - the Semgrep Code + SCA row in the summary table
  - the whole "The other supply chain: the npm tree" subsection under
    section 2, verbatim -- byte-identical to ttl-editor's, checked
  - section 4's account of ttl-editor's ruleset now requiring audit and scan,
    and its main asymmetry being decided rather than merely defensible
  - open-work rows for ttl-editor #128 and #131

and keeps every section unique to this copy. Each of the five LDE-only
headings was checked present after the port.

One sentence is re-scoped rather than copied. ttl-editor's copy says "every
control this document describes now gates acc and none of them gates main".
True there, and false here, where the section immediately after describes
Linked Data Explorer's own main promotion gate. It now reads as a statement
about ttl-editor, with a pointer to the opposite case below it.

ttl-editor's row in the verified-heads table moves to 7f95502, re-verified;
this repository's own row is left as its last pass recorded it rather than
updated without re-verifying.

A new open-work row records this repository's own gap: no Semgrep scan yet,
so its npm tree is remediated by Renovate and verified by nobody. A local
dry run on cfa6b40 found 86 findings, 66 of them Supply Chain, all transitive
and unreachable. Closing that gap is the next change.
@sgort sgort added the documentation Improvements or additions to documentation label Sep 11, 2026
@sgort
sgort merged commit 117a9f6 into acc Sep 11, 2026
1 check passed
@sgort
sgort deleted the docs/port-ttl-semgrep-posture branch September 11, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant