Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
667 commits
Select commit Hold shift + click to select a range
00731c7
Merge branch 'main' into fix/resource-budget-error-contract
opencode-agent[bot] Aug 24, 2026
0015a66
Merge branch 'main' into fix/origin-port-digit-contract
opencode-agent[bot] Aug 24, 2026
4a27752
Merge branch 'main' into fix/proxy-port-digit-contract
opencode-agent[bot] Aug 24, 2026
db3d857
Merge branch 'main' into fix/tls-trust-bundle-identifier-shape
opencode-agent[bot] Aug 24, 2026
e41d3be
Merge branch 'main' into feat/bap-task-lifecycle
opencode-agent[bot] Aug 24, 2026
8b83eaf
test(mcp): bound tools list method metadata
seonghobae Aug 24, 2026
0fade31
fix(mcp): bound tools list method metadata
seonghobae Aug 24, 2026
626c34f
merge(main): reconcile MCP tools list after #168
seonghobae Aug 24, 2026
972d97b
docs(changelog): reconcile merged MCP routing truth
seonghobae Aug 24, 2026
6242d6b
test(mcp): cover tools list invalid method error
seonghobae Aug 24, 2026
9d1cfd0
test(mcp): bound tools-list protocol metadata
seonghobae Aug 24, 2026
c25fb51
fix(mcp): bound protocol metadata before compare
seonghobae Aug 24, 2026
bc41f37
docs(changelog): record bounded MCP protocol metadata
seonghobae Aug 24, 2026
fcae054
docs(readme): align MCP shipped and active truth
seonghobae Aug 24, 2026
769ca7b
docs(traceability): reconcile merged MCP routing
seonghobae Aug 24, 2026
5bb5a7b
docs(adr): reconcile protected-main MCP routing
seonghobae Aug 24, 2026
c1ddbba
docs(doctoring): record browser origin port syntax
seonghobae Aug 24, 2026
bc9aae1
docs(doctoring): make URL port-state evidence exact
seonghobae Aug 24, 2026
8ed3c6e
docs(changelog): pin URL standard retrieval date
seonghobae Aug 24, 2026
4c23006
merge(main): converge sensitive handle lifecycle onto protected main
seonghobae Aug 24, 2026
b1b733d
test(core): rebase release acceptance contract onto protected main
seonghobae Aug 24, 2026
30a85d0
test(core): reproduce non-digit origin port acceptance on current main
seonghobae Aug 24, 2026
1f47936
feat(core): restore release acceptance contract on current module layout
seonghobae Aug 24, 2026
b1cab20
feat(core): export release acceptance contract
seonghobae Aug 24, 2026
3974251
fix(core): require ASCII digits in explicit ports
seonghobae Aug 24, 2026
4626c71
style(core): apply canonical rustfmt to release acceptance
seonghobae Aug 24, 2026
28cd9de
test(core): reject ambiguous release limitation whitespace
seonghobae Aug 24, 2026
2b7d240
fix(core): canonicalize release limitation boundaries
seonghobae Aug 24, 2026
ef72653
docs(changelog): record release acceptance contract
seonghobae Aug 24, 2026
562ab1c
docs(doctoring): pin Unicode 17 limitation basis
seonghobae Aug 24, 2026
e5491c7
test(evidence): require handle lifecycle access binding
seonghobae Aug 24, 2026
8f6dd06
style(evidence): format handle access binding regression
seonghobae Aug 24, 2026
8926a5d
fix(evidence): bind handle lifecycle to access authority
seonghobae Aug 24, 2026
2756617
test(evidence): exercise exact handle authority binding
seonghobae Aug 24, 2026
4f5c248
test(evidence): align lifecycle tests with access receipt
seonghobae Aug 24, 2026
7f7dffb
style(evidence): apply canonical rustfmt
seonghobae Aug 24, 2026
7e92b48
style(evidence): finish canonical rustfmt
seonghobae Aug 24, 2026
71a6fd9
docs(destination): record bounded resolution freshness authority
seonghobae Aug 24, 2026
9303e8f
docs(evidence): record handle authority binding
seonghobae Aug 24, 2026
61a89d7
chore(stack): realign extraction schema with current main
seonghobae Aug 24, 2026
6643516
test(sensitive): cover revocation at exact expiry
seonghobae Aug 24, 2026
604ed74
fix(sensitive): retain revocation at expiry boundary
seonghobae Aug 24, 2026
b203eb4
test(release): cover canonical limitation acceptance path
seonghobae Aug 24, 2026
d6673da
test(release): cover canonical limitation constructor branches
seonghobae Aug 24, 2026
6affc40
test(release): close generic limitation coverage gaps
seonghobae Aug 24, 2026
26b0f97
chore(tls): realign revocation freshness with protected main
seonghobae Aug 24, 2026
7d6741e
chore(tls): restore canonical newline after realignment
seonghobae Aug 24, 2026
bc2c143
test(release): cover generic limitation success paths
seonghobae Aug 24, 2026
a730423
style(release): apply canonical rustfmt to coverage regression
seonghobae Aug 24, 2026
51c8ee8
test(release): cover generic success paths in owning test crate
seonghobae Aug 24, 2026
0a9bef9
test(release): cover canonical whitespace validation exits
seonghobae Aug 24, 2026
0744979
test(core): reproduce non-NFC release limitation identity
seonghobae Aug 24, 2026
952da87
fix(core): reject non-NFC release limitation text
seonghobae Aug 24, 2026
8f86ae1
fix(core): preserve limitation error compatibility
seonghobae Aug 24, 2026
3a155e4
test(core): cover NFC rejection exits in exact coverage
seonghobae Aug 24, 2026
ad149e3
docs: record release limitation NFC contract
seonghobae Aug 24, 2026
cd33b3b
test(core): restore canonical release acceptance formatting
seonghobae Aug 24, 2026
6a17e5f
test(docs): pin RFC 5280 author identity
seonghobae Aug 25, 2026
b35d739
fix(docs): correct RFC 5280 author identity
seonghobae Aug 25, 2026
5568cce
test(core): expose misleading limitation diagnostics
seonghobae Aug 25, 2026
68afef3
fix(core): make limitation diagnostics match validation
seonghobae Aug 25, 2026
473a22e
test(core): align limitation error contract
seonghobae Aug 25, 2026
1d1ed87
test(core): keep diagnostic regression clippy-clean
seonghobae Aug 25, 2026
e8c63a9
test(core): pin release line-separator rejection
seonghobae Aug 25, 2026
eac2014
test(core): fix release separator test labels
seonghobae Aug 25, 2026
0c071a8
test(sensitive): bind handle expiry to retention deadline
seonghobae Aug 25, 2026
4b1a99a
fix(sensitive): cap handle lifetime at retention deadline
seonghobae Aug 25, 2026
be893e9
test(destination): prove post-expiry revalidation authority
seonghobae Aug 25, 2026
3ba836a
test(network): require live locateNodes authority binding
seonghobae Aug 25, 2026
b22a371
test(network): format live authority regression
seonghobae Aug 25, 2026
082a8e2
feat(network): bind live BiDi nodes to current authority
seonghobae Aug 25, 2026
217e070
refactor(network): bundle current BiDi authority input
seonghobae Aug 25, 2026
8ead5b9
test(network): pass bundled live BiDi authority
seonghobae Aug 25, 2026
6a82023
test(network): cover live bind exchange failures
seonghobae Aug 25, 2026
79fd480
style(network): apply canonical exchange regression formatting
seonghobae Aug 25, 2026
437237b
test(network): simplify BiDi failure fixture type
seonghobae Aug 26, 2026
f31e129
test(network): apply canonical rustfmt to BiDi failure fixture
seonghobae Aug 26, 2026
400e7a4
test(network): reject reused BiDi frame masks
seonghobae Aug 26, 2026
bdb3efe
test(network): canonicalize mask freshness regressions
seonghobae Aug 26, 2026
4f03c5f
fix(network): reject reused BiDi frame masks
seonghobae Aug 26, 2026
b6f17ec
style(network): apply canonical BiDi mask formatting
seonghobae Aug 26, 2026
f7c1cec
test(network): reject WebSocket mask reuse across frames
seonghobae Aug 26, 2026
51a42de
test(network): apply canonical mask-reuse formatting
seonghobae Aug 26, 2026
a3d6628
test(network): reproduce WebSocket mask reuse on live stream
seonghobae Aug 26, 2026
019f6af
test(network): apply canonical mask-reuse RED formatting
seonghobae Aug 26, 2026
d6d75c6
test(network): classify zero BiDi exchange budget
seonghobae Aug 26, 2026
c26030c
style(network): apply canonical zero-budget regression formatting
seonghobae Aug 26, 2026
0007fc5
fix(network): enforce initial BiDi exchange deadline
seonghobae Aug 26, 2026
225964d
test(network): align zero-budget exchange classification
seonghobae Aug 26, 2026
151b9fd
test(network): cover initial BiDi command write failure
seonghobae Aug 26, 2026
49a8143
fix(network): reject reused WebSocket masking keys
seonghobae Aug 26, 2026
318c9dd
test(network): satisfy strict mask-reuse contracts
seonghobae Aug 26, 2026
14e55da
test(network): apply canonical mask-reuse formatting
seonghobae Aug 26, 2026
dfff508
chore(network): retain current frame transport in locateNodes stack
seonghobae Aug 26, 2026
6d8d892
test(network): retain WebSocket mask reuse regression in locateNodes …
seonghobae Aug 26, 2026
c6c5480
chore(network): reconstruct locateNodes stack on current frame transport
seonghobae Aug 26, 2026
3a1053e
docs: refresh gap baseline onto 2026-08-26 live inventory
seonghobae Aug 26, 2026
93e5ec9
test(network): cover fail-closed Pong rejection paths
seonghobae Aug 26, 2026
82f9a3e
test(docs): align evidence contracts with 2026-08-26 baseline snapshot
seonghobae Aug 26, 2026
6aaf1e5
test(docs): pin completion-gap contract to 2026-08-26 inventory counts
seonghobae Aug 26, 2026
d769977
test(network): apply canonical pong rustfmt
seonghobae Aug 26, 2026
ac0209d
chore(network): refresh locateNodes stack on current frame transport
seonghobae Aug 26, 2026
9f0b9fb
test(network): pin locateNodes coverage shape
seonghobae Aug 26, 2026
8ee1712
fix(network): stabilize locateNodes binding coverage
seonghobae Aug 26, 2026
cd3734e
test(network): require in-wrapper binding conversion
seonghobae Aug 26, 2026
6400d2e
fix(network): keep binding conversion in exercised wrapper
seonghobae Aug 26, 2026
54db15a
test(network): reproduce WebSocket nonce debug disclosure
seonghobae Aug 26, 2026
3ade84e
test(network): exercise binding wrapper in unit coverage crate
seonghobae Aug 26, 2026
ba5b9be
fix(network): redact WebSocket nonce diagnostics
seonghobae Aug 26, 2026
0c8b39b
chore(stack): join current WebSocket opening-write parent
seonghobae Aug 26, 2026
853808e
test(network): cover successful binding wrapper in unit crate
seonghobae Aug 26, 2026
b692162
test(network): register binding wrapper unit coverage
seonghobae Aug 26, 2026
18f2dff
test(network): apply canonical unit coverage rustfmt
seonghobae Aug 26, 2026
5e0eab2
test(network): exercise locateNodes initial write rejection in integr…
seonghobae Aug 26, 2026
8385467
test(network): prove WebSocket client nonce Debug redaction
seonghobae Aug 26, 2026
d115037
test(network): apply canonical locateNodes integration rustfmt
seonghobae Aug 26, 2026
22bf20e
fix(network): redact WebSocket client nonce Debug
seonghobae Aug 26, 2026
24d52f6
test(network): reject raw WebSocket request Debug exposure
seonghobae Aug 26, 2026
edd8ca3
fix(network): preserve WebSocket nonce redaction across frame stack
seonghobae Aug 26, 2026
46380dd
merge(network): reconstruct locateNodes exchange on current frame tra…
seonghobae Aug 26, 2026
370594c
test(network): require fragmented BiDi response reassembly
seonghobae Aug 26, 2026
87a9171
fix(network): reassemble bounded fragmented BiDi responses
seonghobae Aug 26, 2026
3e53784
fix(network): preserve consuming BiDi command admission
seonghobae Aug 26, 2026
1a3d80a
test(network): keep fragmented BiDi response semantics current
seonghobae Aug 26, 2026
0e79777
test(network): exercise Ping between BiDi response fragments
seonghobae Aug 26, 2026
8e061d6
style(network): apply canonical fragmentation test formatting
seonghobae Aug 26, 2026
95d09f2
test(network): cover fragmented locateNodes boundaries
seonghobae Aug 26, 2026
1591495
test(network): fail closed on impossible frame marker
seonghobae Aug 26, 2026
4c1558d
test(network): remove vacuous matches coverage branch
seonghobae Aug 26, 2026
f653c8e
test(network): cover fragmented locateNodes unit branches
seonghobae Aug 26, 2026
3e71e63
style(network): apply canonical rustfmt to BiDi coverage tests
seonghobae Aug 26, 2026
f537a4d
test(network): reject second text message during BiDi fragmentation
seonghobae Aug 26, 2026
2f1ff59
style(network): apply canonical rustfmt to fragmentation regression
seonghobae Aug 26, 2026
25b7734
test(network): bound locateNodes response fragmentation
seonghobae Aug 26, 2026
ce027d5
style(network): apply canonical rustfmt to fragmentation budget regre…
seonghobae Aug 26, 2026
9fa4e46
fix(network): bound locateNodes response fragment count
seonghobae Aug 26, 2026
3e50431
feat(network): export locateNodes response fragment budget
seonghobae Aug 26, 2026
078648b
fix(network): remove unreachable first-fragment error edges
seonghobae Aug 26, 2026
02952da
test(network): redact WebSocket masking-key diagnostics
seonghobae Aug 26, 2026
5fe9db9
fix(network): redact public WebSocket masking-key diagnostics
seonghobae Aug 26, 2026
c051c15
fix(network): expose redacted WebSocket mask-key wrapper
seonghobae Aug 26, 2026
cbf3dcc
fix(network): route mask entropy through redacted public type
seonghobae Aug 26, 2026
400ce7b
fix(network): preserve redacted WebSocket mask-key boundary
seonghobae Aug 26, 2026
f10670c
fix(network): preserve redacted mask-key export in locateNodes stack
seonghobae Aug 26, 2026
40335f1
fix(network): preserve redacted mask-key transport in locateNodes stack
seonghobae Aug 26, 2026
f94b2ec
test(network): preserve mask-key redaction regression in locateNodes …
seonghobae Aug 26, 2026
c95c1b7
merge(network): reconstruct locateNodes stack on current frame transport
seonghobae Aug 26, 2026
b7e0287
test(network): prove legacy handshake debug redacts nonce
seonghobae Aug 26, 2026
01e6ae4
test(network): apply canonical nonce-redaction regression formatting
seonghobae Aug 26, 2026
9a6ccf8
fix(network): redact legacy websocket handshake debug
seonghobae Aug 26, 2026
34f9065
test(network): reproduce masking history lifetime ceiling
seonghobae Aug 26, 2026
d98f97c
test(network): format masking-key capacity regression
seonghobae Aug 26, 2026
608abfe
fix(network): remove WebSocket masking-key lifetime cap
seonghobae Aug 26, 2026
e8e7eff
test(network): align consecutive mask-reuse evidence
seonghobae Aug 26, 2026
245ae04
test(network): exercise non-global mask reuse on wire
seonghobae Aug 26, 2026
a77e1ce
test(network): align Pong mask-reuse regression
seonghobae Aug 26, 2026
b47c4fd
test(network): satisfy strict Clippy in redaction regression
seonghobae Aug 26, 2026
9e550a4
style(network): apply canonical Rust formatting
seonghobae Aug 26, 2026
c1bc7e7
test(network): remove duplicate nonce-redaction unit
seonghobae Aug 26, 2026
bfca50e
merge(network): join current frame-transport parent
seonghobae Aug 26, 2026
b68e0f6
fix(network): preserve current frame-transport parent
seonghobae Aug 26, 2026
9c165cc
fix(network): bound Pong entropy before deadline
seonghobae Aug 26, 2026
73eb00f
test(network): admit non-adjacent mask collision
seonghobae Aug 26, 2026
160620c
fix(network): permit non-adjacent mask collisions
seonghobae Aug 26, 2026
cdfdc89
test(network): specify adjacent mask reuse diagnostic
seonghobae Aug 26, 2026
dec5092
fix(network): clarify adjacent mask reuse diagnostic
seonghobae Aug 26, 2026
df321a8
test(network): align mask reuse regression with adjacent-key contract
seonghobae Aug 26, 2026
863f9ab
test(network): restore locateNodes coverage
seonghobae Aug 26, 2026
6f2c3f1
test(network): remove uncovered deadline guard
seonghobae Aug 26, 2026
ff92b8a
test(network): remove timing-sensitive deadline case
seonghobae Aug 26, 2026
65fb36a
test(network): avoid socket-race coverage dependency
seonghobae Aug 26, 2026
f801395
fix(network): bound accumulated BiDi response size
seonghobae Aug 26, 2026
e068efd
test(network): deterministically cover read deadline
seonghobae Aug 26, 2026
fc556f3
fix(network): preserve current bind contract
seonghobae Aug 26, 2026
a5ddb50
style(network): format deadline coverage
seonghobae Aug 26, 2026
f427aa6
test(network): execute deadline guard reader
seonghobae Aug 26, 2026
a4240df
Merge pull request #204 from ContextualWisdomLab/feat/webdriver-bidi-…
seonghobae Aug 26, 2026
6c5ef5e
Merge pull request #205 from ContextualWisdomLab/feat/webdriver-bidi-…
seonghobae Aug 26, 2026
0f3a7f4
test(release): reject semantically empty limitation text
seonghobae Aug 26, 2026
c38bfd1
fix(release): require meaningful limitation text
seonghobae Aug 26, 2026
364ba7a
Merge pull request #231 from ContextualWisdomLab/feat/webdriver-bidi-…
seonghobae Aug 26, 2026
9650d2a
test(release): cover meaningful-text scan branches
seonghobae Aug 26, 2026
f3ab80c
feat(core): serialize bounded BiDi pointer click
seonghobae Aug 26, 2026
f6b0c7f
Merge pull request #198 from ContextualWisdomLab/feat/webdriver-bidi-…
seonghobae Aug 26, 2026
911ea33
fix(core): make limitation validation monomorphic
seonghobae Aug 26, 2026
730a8f1
docs: refresh exact delivery gap evidence
seonghobae Aug 26, 2026
55bb242
docs: bind baseline to live merge authority
seonghobae Aug 26, 2026
d881d6a
docs: refresh dependency queue evidence
seonghobae Aug 26, 2026
dfa6177
docs: refresh product gap queue
seonghobae Aug 26, 2026
54f2edc
docs: refresh live product-gap queue evidence
seonghobae Aug 26, 2026
1ee95f2
docs: record consolidated live PR queue
seonghobae Aug 26, 2026
e01c8b2
test(docs): pin current gap inventory snapshot
seonghobae Aug 26, 2026
27040a3
test(docs): pin live 126 PR snapshot
seonghobae Aug 26, 2026
b4a20af
test(docs): reject superseded inventory totals
seonghobae Aug 26, 2026
8d66fe7
docs: align gap baseline to verified 126 PR inventory
seonghobae Aug 26, 2026
e5ad7e7
docs: reconcile changelog with live inventory snapshot
seonghobae Aug 26, 2026
1116db2
test(docs): pin immediate 158 PR predecessor snapshot
seonghobae Aug 26, 2026
43fd0be
docs: reconcile snapshot predecessor chronology
seonghobae Aug 26, 2026
3f4cf18
Merge pull request #226 from ContextualWisdomLab/docs/gap-baseline-20…
seonghobae Aug 27, 2026
dcab5fc
Merge pull request #208 from ContextualWisdomLab/feat/bap-task-lifecycle
seonghobae Aug 27, 2026
853552b
Merge pull request #209 from ContextualWisdomLab/feat/extraction-sche…
seonghobae Aug 27, 2026
e61ef9d
Merge pull request #218 from ContextualWisdomLab/feat/release-benchma…
seonghobae Aug 27, 2026
c4e1270
Merge pull request #170 from ContextualWisdomLab/feat/mcp-tools-list-…
seonghobae Aug 27, 2026
f658f32
Merge pull request #65 from ContextualWisdomLab/test/agent-task-contr…
seonghobae Aug 27, 2026
a34f59d
Merge branch 'main' into feat/sensitive-handle-lifecycle-evidence
seonghobae Aug 27, 2026
c37469f
Merge branch 'main' into feat/resolution-freshness-authority-main
seonghobae Aug 27, 2026
99050e1
Merge branch 'main' into feat/tls-revocation-freshness-main
seonghobae Aug 27, 2026
1415599
Merge branch 'main' into test/extension-policy-isolation
seonghobae Aug 27, 2026
413a26b
Merge branch 'main' into test/extension-secret-isolation
seonghobae Aug 27, 2026
6b9a9e5
Merge branch 'main' into test/extension-mutation-authority-main
seonghobae Aug 27, 2026
fca3c6c
Merge branch 'main' into fix/resource-budget-error-contract
seonghobae Aug 27, 2026
456fe11
Merge branch 'main' into fix/origin-port-digit-contract
seonghobae Aug 27, 2026
0821dd0
Merge branch 'main' into fix/proxy-port-digit-contract
seonghobae Aug 27, 2026
c2f876f
Merge branch 'main' into fix/tls-trust-bundle-identifier-shape
seonghobae Aug 27, 2026
130fa3f
Merge pull request #156 from ContextualWisdomLab/fix/resource-budget-…
seonghobae Aug 27, 2026
33689b6
Merge pull request #45 from ContextualWisdomLab/feat/sensitive-handle…
seonghobae Aug 27, 2026
bb5e89a
Merge pull request #47 from ContextualWisdomLab/feat/resolution-fresh…
seonghobae Aug 27, 2026
579066a
Merge pull request #48 from ContextualWisdomLab/feat/tls-revocation-f…
seonghobae Aug 27, 2026
b71aec9
Merge pull request #62 from ContextualWisdomLab/test/extension-policy…
seonghobae Aug 27, 2026
4d5230d
Merge pull request #63 from ContextualWisdomLab/test/extension-secret…
seonghobae Aug 27, 2026
961284f
Merge pull request #74 from ContextualWisdomLab/test/extension-mutati…
seonghobae Aug 27, 2026
cf5352e
Merge pull request #158 from ContextualWisdomLab/fix/origin-port-digi…
seonghobae Aug 27, 2026
24266c5
Merge pull request #159 from ContextualWisdomLab/fix/proxy-port-digit…
seonghobae Aug 27, 2026
542ca1e
Merge pull request #161 from ContextualWisdomLab/fix/tls-trust-bundle…
seonghobae Aug 27, 2026
72f112d
feat(core): promote bounded BiDi pointer click
seonghobae Aug 27, 2026
c18f9ea
test(network): classify ambiguous opening write recovery
seonghobae Aug 28, 2026
2d5c0f5
test(network): format opening write recovery regression
seonghobae Aug 28, 2026
bca92a9
fix(network): classify ambiguous opening write recovery
seonghobae Aug 28, 2026
05e4409
test(network): cover opening write recovery disposition
seonghobae Aug 28, 2026
a70f671
merge(network): reconstruct opening-write stack on current handshake …
seonghobae Aug 29, 2026
a4f445f
merge(network): reconstruct opening write on protected main
seonghobae Aug 29, 2026
5c111d0
fix(stack): restore opening-write prerequisite tree
seonghobae Aug 29, 2026
6ba8669
fix(core): document loopback websocket exception
seonghobae Sep 4, 2026
b852245
test(network): hold opening peer through timeout cleanup
seonghobae Sep 5, 2026
48eb2d2
test(network): hold revoked peer through write classification
seonghobae Sep 5, 2026
29dd314
repair(stack): restore protected product assets
seonghobae Sep 6, 2026
89708cf
repair(evidence): preserve product contracts with browser provenance
seonghobae Sep 6, 2026
2244923
docs(gaps): refresh commercial baseline to live state
seonghobae Sep 6, 2026
bd93c31
docs(architecture): restore live gap-baseline link
seonghobae Sep 6, 2026
2c6d49d
docs(index): restore product and BAP decision links
seonghobae Sep 6, 2026
e6ab15b
docs(adr): restore BAP lifecycle decision index
seonghobae Sep 6, 2026
c215d3c
test(docs): preserve gap and BAP decision discoverability
seonghobae Sep 6, 2026
b9907dc
repair(docs): restore product authority contracts
seonghobae Sep 6, 2026
64114aa
docs(readme): restore protected MCP product boundary
seonghobae Sep 6, 2026
dbf3de6
test(gaps): reject self-stale foundation head evidence
seonghobae Sep 6, 2026
7b2f309
docs(gaps): resolve mutable foundation head at evidence time
seonghobae Sep 6, 2026
6e5aeb5
fix(repo): restore rust toolchain update contract
seonghobae Sep 6, 2026
c8f8507
test(docs): match canonical proposed ADR metadata
seonghobae Sep 6, 2026
7dbdf03
docs(gaps): preserve release contract wording
seonghobae Sep 6, 2026
63997bc
docs(gaps): record exercised foundation workflow RED
seonghobae Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: "rust-toolchain"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 1
1 change: 1 addition & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This file is the canonical product-wide topology and bounded-context view. It is
- [Requirement, decision, standards, and implementation traceability](docs/traceability/README.md)
- [Research and standards doctoring](docs/doctoring.md)
- [Product roadmap](docs/product-roadmap.md)
- [Live product and technical gap baseline](docs/product-technical-gap-baseline.md)

Protected-main code and executable tests define current implementation truth; deployed build/release artifacts, migrations, and configuration are additional operational evidence when they exist. Accepted ADRs define design authority, not proof that planned behavior has shipped. The PRD/TRD/diagrams may also contain `Planned`, `Proposed`, or `Open` product direction; those labels must remain explicit until corresponding implementation and review evidence reaches protected `main`.

Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ All notable changes to OriginWeave are documented in this file. The format follo
- Separated hourly product PR publication authority from the organization review and merge system, and added live default-branch and release-blocker rechecks immediately before publication.
- Made the agent-development contract work-conserving: completing one bounded slice, RCA, review request, check, merge, or documentation change is an intermediate state; maintenance must return to the live queue, treat waits as item-local, and perform a mandatory exit sweep before terminating while executable OriginWeave work remains.
- Moved autonomous-agent Cargo targets and Python bytecode caches outside the proposed source tree and prefetched locked Cargo dependencies for offline verification.
- Kept the real loopback WebDriver BiDi opening-write regression test fail-fast with test-only diagnostics, while explicitly covering successful and panicked server-thread handoffs so strict all-target Clippy and exact coverage remain clean.
- Kept the loopback peer alive until opening-write timeout cleanup completes, removing a macOS close race that could report `EINVAL` after a successful request write without weakening production cleanup failures.
- Kept the revoked-stream fixture peer alive until local shutdown and fail-closed write classification complete, removing a macOS `ENOTCONN` race from the coverage path.
- Updated research doctoring to pin Chromium canonicalizer evidence to an immutable revision, add RFC 9293, RFC 5280, RFC 8446, RFC 9525, rustls 0.23.42, and Rust `TcpStream` evidence, distinguish the April 2026 Fugu beta from the June 2026 release, and treat vendor benchmark claims as first-party evidence rather than independent validation.

### Security
Expand Down
31 changes: 31 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[workspace]
members = [
"crates/originweave-core",
"crates/originweave-bap",
"crates/originweave-policy",
"crates/originweave-resource",
"crates/originweave-evidence",
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

OriginWeave is a Chromium-compatible, Rust-first control plane for governed AI agents on the web. It is designed to let an agent observe, extract, and act without turning untrusted page content into authority, exposing secrets to a model, connecting to an unapproved network destination, accepting an unauthenticated web service, or losing the evidence required to explain what happened.

> Project status: pre-alpha. The current repository contains independently reusable safety, resolved-destination, direct TCP peer-binding, and authenticated TLS service-identity kernels. Chromium, WebDriver BiDi, CDP, MCP, HTTP, proxy, WARC, and persistent provenance adapters are planned but not yet shipped.
> Project status: pre-alpha. The current protected repository contains independently reusable safety, resolved-destination, direct TCP peer-binding, authenticated TLS service-identity, and bounded MCP `2026-07-28` stateless `tools/call` routing/policy foundations. Chromium, WebDriver BiDi, CDP, complete MCP, HTTP, proxy, WARC, and persistent provenance adapters are planned but not yet shipped. Active PR #170 implements only conservative `tools/list` discovery metadata on top of the protected-main MCP catalog; it remains non-shipped active-PR evidence and does not make the complete MCP adapter available.

## Why OriginWeave

Expand Down Expand Up @@ -40,6 +40,8 @@ The repository is organized as independently consumable Rust crates:
- `originweave-resource`: task-level RAM, VRAM, thread, and frame-time budgets with cumulative mitigation plans.
- `originweave-evidence`: universally value-redacted network evidence and source-bound provenance records.

Protected main additionally contains an `originweave-core` MCP routing registry and `originweave-policy` binding for the MCP `2026-07-28` `tools/call` boundary. That shipped foundation validates and maps an explicit tool name to an existing typed action while preserving normal OriginWeave policy. Active PR #170 adds non-shipped conservative `tools/list` discovery metadata derived from the same reviewed catalog. Neither boundary implements transport parsing, OAuth, browser control, secret materialization, persistence, or ambient authority.

See [ARCHITECTURE.md](ARCHITECTURE.md) and the [architecture decision records](docs/adr/) for binding design decisions.

## Safety model
Expand Down Expand Up @@ -97,7 +99,7 @@ isolated Chromium session
→ redacted provenance bundle
```

Subsequent work connects the live Chromium network service, adds explicit proxy and download policy, WARC/PROV persistence, MCP and Browser Agent Protocol adapters, extension compatibility testing, GPU/RAM telemetry, prompt-injection benchmarks, and an accessible approval interface. See [docs/product-roadmap.md](docs/product-roadmap.md).
Subsequent work connects the live Chromium network service, adds explicit proxy and download policy, WARC/PROV persistence, completes the MCP and Browser Agent Protocol adapters beyond the protected-main `tools/call` foundation and active `tools/list` refinement, expands extension compatibility testing, adds GPU/RAM telemetry and prompt-injection benchmarks, and builds an accessible approval interface. See [docs/product-roadmap.md](docs/product-roadmap.md).

## Hourly product-development loop

Expand All @@ -109,4 +111,4 @@ Read [AGENTS.md](AGENTS.md), [CONTRIBUTING.md](CONTRIBUTING.md), and [SECURITY.m

## License

Apache License 2.0. See [LICENSE](LICENSE).
Apache License 2.0. See [LICENSE](LICENSE).
12 changes: 12 additions & 0 deletions crates/originweave-bap/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[package]
name = "originweave-bap"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true

[lints]
workspace = true
Loading
Loading