Skip to content

feat: agent-friendly threat-model authoring end to end#19

Merged
Hacks4Snacks merged 1 commit into
mainfrom
hacks4snacks/agentfeedbackenhancements
Jul 8, 2026
Merged

feat: agent-friendly threat-model authoring end to end#19
Hacks4Snacks merged 1 commit into
mainfrom
hacks4snacks/agentfeedbackenhancements

Conversation

@Hacks4Snacks

@Hacks4Snacks Hacks4Snacks commented Jul 8, 2026

Copy link
Copy Markdown
Owner

feat: agent-friendly threat-model authoring end to end

What & why

TMForge could author .tm7 models verb-by-verb, but only by GUID and every add returned a
fresh GUID that changed on every rebuild, so any non-trivial model had to be authored as a
GUID-capturing shell script, and no companion doc or report could cite a stable id. Authoring was
also imperative-only: the diagram diffed poorly and there was no reviewable source of truth. This
threads ergonomic, reviewable authoring through the CLI stable references, a declarative manifest,
logical boundaries, auto-layout, and better discoverability driven by real agent-authoring feedback.

Highlights

  • Aliases & stable ids: add --alias P1 gives an element a durable handle and a deterministic
    id (the same alias → the same GUID across rebuilds, so docs/reports can cite it). connect / set /
    remove / rename / show now resolve GUID, alias, or unique name.
  • Declarative manifests: tmforge apply <manifest.json> builds a whole model in memory and writes
    it atomically (all-or-nothing, --dry-run, idempotent re-runs); tmforge export emits a
    diffable JSON manifest from any model. A model becomes reviewable model-as-code in a PR.
  • Logical boundaries & layout: add --boundary <ref> records trust-boundary membership and places
    the element inside it (so crossings are computed and membership round-trips through export); new
    tmforge layout applies a deterministic layered auto-layout so authors never hand-place coordinates.
  • External-entity auth: external entities gain an AuthenticationScheme property; TM1023 clears
    when an external declares a scheme (e.g. a token or public key), so the finding is resolvable in-model.
  • Discoverability: properties --explain maps each property value → the rule + severity it
    triggers (predict lint before running it); new tmforge schema documents the --json envelope and
    every command's data shape, so automation isn't written against probed output.
  • SVG export: report --format svg writes a standalone diagram (all pages stacked) for PR review,
    distinct from the HTML report.
  • Command registry: dispatch, --help, and schema are now generated from a single
    CommandCatalog, so adding a verb updates all three at once and can't drift out of sync (test-guarded).
  • Docs: README, overview, and cli-reference updated for the new verbs/flags.

@Hacks4Snacks Hacks4Snacks merged commit 17e00a3 into main Jul 8, 2026
6 checks passed
This was referenced Jul 8, 2026
@Hacks4Snacks Hacks4Snacks deleted the hacks4snacks/agentfeedbackenhancements branch July 9, 2026 00:21
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