docs(remote-mcp): restamp the #956 threat model onto the commit it resolves at (review 637 B1)

Commit 126d76a set docs/remote-mcp/threat-model-anchors.json
generated_against_commit to e3fa3b26 and left docs/remote-mcp/threat-model.md
citing a143cd06, so the document and the fixture named different source
revisions. tests/test_issue_956_threat_model.py asserts the fixture value
appears in the document, and that assertion failed from 126d76a onward.

The mismatch was not cosmetic. Resolving all 58 anchors against each candidate
revision shows 0 unresolved at e3fa3b26 and 21 unresolved at a143cd06, so the
document's own claim about where its file:line citations resolve was false.
The fixture held the accurate value and the document held the stale one.

The B2 fix in ca5f078d inserted a net 16 lines into gitea_mcp_server.py at a
single point, shifting 21 anchors below it. All 21 are re-derived here by that
one uniform offset and each was verified against its recorded expect substring
rather than assumed, so no anchor is guessed and none became ambiguous. Both
artifacts now name ca5f078d, the commit those anchors were taken at, and the
document's inline citations are shifted to match. The boundary table's claim
about what the code enforces is restamped onto the same revision, because it
described that same source tree.

Verified: 58/58 anchors resolve at the declared generation commit, 58/58 at
this head, no two anchors share a file:line location, fixture and document
metadata agree, and tests/test_issue_956_threat_model.py passes 17/17.

Refs #708

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
2026-07-28 17:25:24 -05:00
co-authored by Claude Opus 4.8
parent ca5f078d8a
commit 58bd852188
2 changed files with 50 additions and 48 deletions
+22 -22
View File
@@ -8,10 +8,10 @@
"document. #930's inventory had no such guard and its gitea_mcp_server.py",
"anchors drifted between 7bf4f125 and aad5c8b4."
],
"generated_against_commit": "e3fa3b263d4b8a04b189e111a345ac5c3a3fe1b6",
"generated_against_commit": "ca5f078d8a575ea3e2991771f8b4ea85e3dcaaa0",
"anchors": [
{
"anchor": "gitea_mcp_server.py:24848",
"anchor": "gitea_mcp_server.py:24864",
"expect": "mcp_daemon_guard.bind_native_mcp_transport()"
},
{
@@ -27,11 +27,11 @@
"expect": "def assess_transport_for_auth_mint"
},
{
"anchor": "gitea_mcp_server.py:9175",
"anchor": "gitea_mcp_server.py:9191",
"expect": "assess_transport_for_auth_mint()"
},
{
"anchor": "gitea_mcp_server.py:9424",
"anchor": "gitea_mcp_server.py:9440",
"expect": "assess_transport_for_auth_mint()"
},
{
@@ -39,31 +39,31 @@
"expect": "The transport is selected by deployment configuration"
},
{
"anchor": "gitea_mcp_server.py:15465",
"anchor": "gitea_mcp_server.py:15481",
"expect": "def _is_client_managed_process"
},
{
"anchor": "gitea_mcp_server.py:15495",
"anchor": "gitea_mcp_server.py:15511",
"expect": "def _provenance_mutation_block"
},
{
"anchor": "gitea_mcp_server.py:15503",
"anchor": "gitea_mcp_server.py:15519",
"expect": "unsupported_manual_launch"
},
{
"anchor": "gitea_mcp_server.py:19054",
"anchor": "gitea_mcp_server.py:19070",
"expect": "server_provenance"
},
{
"anchor": "gitea_mcp_server.py:21565",
"anchor": "gitea_mcp_server.py:21581",
"expect": "def _check_mcp_runtimes_diagnostics"
},
{
"anchor": "gitea_mcp_server.py:21585",
"anchor": "gitea_mcp_server.py:21601",
"expect": "\"ps\", \"-o\", \"pid,lstart,command\""
},
{
"anchor": "gitea_mcp_server.py:21629",
"anchor": "gitea_mcp_server.py:21645",
"expect": "\"ps\", \"eww\""
},
{
@@ -107,19 +107,19 @@
"expect": "def assert_keychain_access_allowed"
},
{
"anchor": "gitea_mcp_server.py:19311",
"anchor": "gitea_mcp_server.py:19327",
"expect": "def gitea_list_profiles"
},
{
"anchor": "gitea_mcp_server.py:19362",
"anchor": "gitea_mcp_server.py:19378",
"expect": "gitea_config.resolve_token(p)"
},
{
"anchor": "gitea_mcp_server.py:19675",
"anchor": "gitea_mcp_server.py:19691",
"expect": "def gitea_audit_config"
},
{
"anchor": "gitea_mcp_server.py:19697",
"anchor": "gitea_mcp_server.py:19713",
"expect": "service_summaries(config)"
},
{
@@ -135,19 +135,19 @@
"expect": "_keychain_token(auth.get(\"id\"))"
},
{
"anchor": "gitea_mcp_server.py:17760",
"anchor": "gitea_mcp_server.py:17776",
"expect": "\"jenkins-mcp\""
},
{
"anchor": "gitea_mcp_server.py:17766",
"anchor": "gitea_mcp_server.py:17782",
"expect": "external-mcp"
},
{
"anchor": "gitea_mcp_server.py:17787",
"anchor": "gitea_mcp_server.py:17803",
"expect": "\"glitchtip-mcp\""
},
{
"anchor": "gitea_mcp_server.py:17792",
"anchor": "gitea_mcp_server.py:17808",
"expect": "external-mcp"
},
{
@@ -183,7 +183,7 @@
"expect": "mutation_safe"
},
{
"anchor": "gitea_mcp_server.py:19155",
"anchor": "gitea_mcp_server.py:19171",
"expect": "def gitea_assess_master_parity"
},
{
@@ -199,7 +199,7 @@
"expect": "/tmp/gitea_issue_lock.json"
},
{
"anchor": "gitea_mcp_server.py:10940",
"anchor": "gitea_mcp_server.py:10956",
"expect": "def gitea_bootstrap_author_issue_worktree"
},
{
@@ -239,7 +239,7 @@
"expect": "os.getpid()"
},
{
"anchor": "gitea_mcp_server.py:12854",
"anchor": "gitea_mcp_server.py:12870",
"expect": "owner_pid_alive"
}
]