8000 build(deps): bump the cargo group across 1 directory with 5 updates by dependabot[bot] · Pull Request #67 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

build(deps): bump the cargo group across 1 directory with 5 updates - #67

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/cargo-bcf9dd5d85
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/cargo-bcf9dd5d85

Conversation

@dependabot
@dependabot dependabot Bot commented on behalf of github Mar 12, 2026 •
Copy link
Copy Markdown
Contributor

Bumps the cargo group with 5 updates in the / directory:

Package From To
jaq-all 0.1.0-beta 0.1.0-gamma
nickel-lang-core 0.15.3 0.16.1
oci-spec 0.8.4 0.9.0
toml 0.9.12+spec-1.1.0 1.0.6+spec-1.1.0
toml_edit 0.23.10+spec-1.0.0 0.25.4+spec-1.1.0

Updates jaq-all from 0.1.0-beta to 0.1.0-gamma

Commits

Updates nickel-lang-core from 0.15.3 to 0.16.1

Commits

Updates oci-spec from 0.8.4 to 0.9.0

Release notes

Sourced from oci-spec's releases.

v0.9.0

What's Changed

Other Changes

New Contributors

Full Changelog: youki-dev/oci-spec-rs@v0.8.4...v0.9.0

Commits
  • 68e4f11 Bump to 0.9.0
  • 97444ac Added tests for the new changes
  • 9152385 Added SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV
  • 11e3f94 change from function to use as_u32 internal
  • a49335f remove deprecated and update document comment
  • 33312a9 deprecated move to function
  • a4b85eb update comment
  • 145d747 delete unused code
  • 581b125 add deprecated to from function
  • 84d8c13 delete unused code
  • Additional commits viewable in compare view

Updates toml from 0.9.12+spec-1.1.0 to 1.0.6+spec-1.1.0

Commits

Updates toml_edit from 0.23.10+spec-1.0.0 to 0.25.4+spec-1.1.0

Commits
  • 64c9e65 chore: Release
  • 8328135 docs: Update changelog
  • 2f8c907 fix(parser): Error on table extension case (#1116)
  • 643e7ff fix(parser): Make inline tables like document (#1115)
  • 7165463 fix(parser): Add append error traces
  • ea951a2 fix(parser): Make inline tables like document
  • d4a12e3 refactor(parser): Align between document/inline-table
  • c8e183e fix(parser): Error on table extension case
  • 73e5623 test(parse): Add cases for bad appends
  • 996aedc chore(deps): Update pre-commit hook crate-ci/typos to v1.44.0 (#1110)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 12, 2026
Bumps the cargo group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [jaq-all](https://github.com/01mf02/jaq) | `0.1.0-beta` | `0.1.0-gamma` |
| [nickel-lang-core](https://github.com/tweag/nickel) | `0.15.3` | `0.16.1` |
| [oci-spec](https://github.com/youki-dev/oci-spec-rs) | `0.8.4` | `0.9.0` |
| [toml](https://github.com/toml-rs/toml) | `0.9.12+spec-1.1.0` | `1.0.6+spec-1.1.0` |
| [toml_edit](https://github.com/toml
10000
-rs/toml) | `0.23.10+spec-1.0.0` | `0.25.4+spec-1.1.0` |



Updates `jaq-all` from 0.1.0-beta to 0.1.0-gamma
- [Release notes](https://github.com/01mf02/jaq/releases)
- [Commits](https://github.com/01mf02/jaq/commits)

Updates `nickel-lang-core` from 0.15.3 to 0.16.1
- [Release notes](https://github.com/tweag/nickel/releases)
- [Changelog](https://github.com/nickel-lang/nickel/blob/master/RELEASES.md)
- [Commits](https://github.com/tweag/nickel/commits)

Updates `oci-spec` from 0.8.4 to 0.9.0
- [Release notes](https://github.com/youki-dev/oci-spec-rs/releases)
- [Changelog](https://github.com/youki-dev/oci-spec-rs/blob/main/release.md)
- [Commits](youki-dev/oci-spec-rs@v0.8.4...v0.9.0)

Updates `toml` from 0.9.12+spec-1.1.0 to 1.0.6+spec-1.1.0
- [Commits](toml-rs/toml@toml-v0.9.12...toml-v1.0.6)

Updates `toml_edit` from 0.23.10+spec-1.0.0 to 0.25.4+spec-1.1.0
- [Commits](toml-rs/toml@v0.23.10...v0.25.4)

---
updated-dependencies:
- dependency-name: jaq-all
  dependency-version: 0.1.0-gamma
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: nickel-lang-core
  dependency-version: 0.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: oci-spec
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: toml
  dependency-version: 1.0.6+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: cargo
- dependency-name: toml_edit
  dependency-version: 0.25.4+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/cargo-bcf9dd5d85 branch from 2eca741 to b6e0666 Compare March 12, 2026 07:23
@dependabot @github
dependabot Bot commented on behalf of github Mar 16, 2026
Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Mar 16, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/cargo-bcf9dd5d85 branch March 16, 2026 14:13
norrietaylor added a commit that referenced this pull request Sep 17, 2026
The local default path carries no WireGuard (design §7.1, §11). The Box
Egress Proxy NET's Context anticipates is now the node-local BEP of
Gatehouse §6.10 v1.19; its dependency list gains NET-084, the relay's
source-address check that lets the proxy attribute a box by switch
source. Store references and [secret-store-rules] consent are routed to
the local BEP document; the hosted BEP stays with the broker epic.
BareMetalVM, the sixth style, is named as EHE's with NET-081 to NET-085
as what a metal host reuses per VM. No requirement changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
norrietaylor added a commit that referenced this pull request Sep 17, 2026
On a host with a VM the node side of any association is the VM together
with its host-side helper (design §4.1 v0.7), so the HIGH open question
on who owns the laptop's peer-document mirror and binding admission now
names the helper as a candidate. Attach to bare-metal fleet hosts through
the gated host-side forwarder and mesh through the gateway's forwarding
role are non-goals with destinations. No requirement changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
norrietaylor added a commit that referenced this pull request Sep 17, 2026
…#67

Epic gominimal/inbox#646 gains S6c, the BareMetalVM story added on
2026-09-17 and sequenced after the Linux VM-stack stories and before the
remote styles. EHE-020 to EHE-026 bind the metal host's obligations from
design v0.7 §7.6, §8, and §10: one virtual NIC into the switch and the
pin programmed before ready and never widened per box, the helper's
private keys held host-side, box sources forwarded to the per-host
gateway without NAT, the escape bound per VM, SSH through a ticket- or
ACL-gated forwarder with no direct WireGuard endpoint advertised, and
association state reset on restore. All T0. The pin on a fleet host is
the provider's assertion, as on a cloud VM (decision 2026-09-17): a
non-goal, not a requirement.

Also: the laptop-association open question narrows to the hairpin
opt-in (design v0.7 §7.1, §11); the BEP-association non-goal is scoped
to the remote-BEP path; the fleet provider's side is a non-goal with its
destinations; citations bumped to design v0.7, Gatehouse v1.19, Box
Provider API v0.10.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
norrietaylor added a commit that referenced this pull request Sep 18, 2026
* docs(specs): add the box networking spec (NET)

Spec 12 binds the box host's side of the networking design from the
epic gominimal/inbox#646: names through the hostname proxy and native
resolution, network posture on the CLI, bounded egress enforced outside
the VM, gateway-attached and enrolled-host obligations, mesh join, and
the reverse-proxy retirement. 119 EARS requirements at T0 with named
tests, eleven T2 Kani cores, and one T1 property. Its identity-plane
sibling is NPOL in gominimal/gatehouse.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): renumber box-networking to 18

12 and 13 are taken by the GitHub sessions and min client core specs; 14–16
by other open spec PRs. Directory, file and in-document references move
together; content is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs(specs): re-scope NET to the un-enrolled local host

Local-first ordering, 2026-09-15: NET now binds only what a box host does
with no identity plane, on a laptop with VM-backed boxes or a co-resident
Linux host. Thirty-six requirements whose precondition is enrolment, a
gateway association, a mesh, or a remote session move, unchanged in text
and tier, to three sibling specs from the same epic: EHE (#1418), GWI
(#1419), MRF (#1420). Surviving IDs are unchanged; 83 remain, with all
seven failure sub-bullets, nine Kani harnesses, and the T1 parity
property.

Context, Success, First slice, Non-goals, Design reasoning, Security
considerations, and Open questions are rewritten for the local scope.
The Context names the local Box Egress Proxy's dependencies on this
document (box-zone resolution, DNS-pinned admission, proxy parity, UDP
dropped unless declared). The host-OS resolution question is answered by
design §7.1 v0.5 and folded in; NET-018 and NET-019 take their WHERE from
its supersession condition; the macOS per-box-address mechanism stays
open per design §12 item 13; the association-contract question moves out
with EHE. NET-037 now calls the hyphenated spellings legacy.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): correct NET's Linux baseline and NET-037's legacy spellings

Two review findings on the re-scope. The Context claimed Linux installs
lack the VM stack; the release manifests have shipped minvmd, the switch,
and the guest payload for linux/amd64 and linux/arm64 since #1070, so the
gap NET-049 and NET-051 bind is a fresh KVM host activating a VM-backed
box, and NET-048 and NET-050 guard shipped behaviour. NET-037 now
enumerates `no-net` beside `host-net` and `own-ip`: it is the CLI's third
kebab-case spelling and the one a saved config would otherwise fail on.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): align NET with arch #67 (design v0.7, Gatehouse v1.19)

The local default path carries no WireGuard (design §7.1, §11). The Box
Egress Proxy NET's Context anticipates is now the node-local BEP of
Gatehouse §6.10 v1.19; its dependency list gains NET-084, the relay's
source-address check that lets the proxy attribute a box by switch
source. Store references and [secret-store-rules] consent are routed to
the local BEP document; the hosted BEP stays with the broker epic.
BareMetalVM, the sixth style, is named as EHE's with NET-081 to NET-085
as what a metal host reuses per VM. No requirement changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): answer the NET review findings and the BEP field asks

- NET-060 accepts `egress.allow_dns_hosts`; NET-072 spells the field the
  same way (one spelling; design §7.1's `egress_allow_dns` is a §5.4
  placeholder).
- NET-003 resolves `host.min.internal` to an address; reach over it is
  local reach under the box's egress rules, so deny-all wins (NET-079).
- NET-010 allocates from the host-global allocation; its property and
  harness range over every daemon on the host (NET-027, NET-059).
- NET-045 gains a failure case: `ask` with no client attached is refused
  with a typed error, recorded by NET-046.
- NET-120 accepts an `egress` section on a host-address box, superseding
  03-spec R2.1's HostNet parse-time error; NET-065 keeps `none`.
- NET-043 notes `dynamic_ingress` supersedes `dynamic_allowed_ports`.
- NET-085 and the escape invariant cite design §5.1 for the baseline set.
- Context limits the switch-source attribution to VM-backed hosts; the
  host-address cohort is attributed as one cohort (NET-078).
- S17 is a split story: its text is transcribed, NET-102 keeps the
  un-enrolled clause, EHE holds the enrolled ones.
- Design reasoning records each choice and the alternative rejected.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): follow the arch#69 ruling on un-enrolled GitHub minting in NET's Context

The un-enrolled node-local Box Egress Proxy may redeem GitHub-module
members the min client minted from its own sign-in; only
Gatehouse-brokered grants are absent un-enrolled (owner ruling
2026-09-17, proposed in gominimal/arch#71). One clause in the Context;
no requirement changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): revise NET after review, binding §7.1's answerer and bind rules

Answers the open review threads on #1380 and the arch tip (design v0.7.1,
Gatehouse v1.20.1, command tree after gominimal/arch#72).

- NET-121 to NET-130: declared ports bound before the name; resolver
  advisory at session start; reserved-range bind probe with the 127.0.0.1
  interim; answerer semantics (NODATA, NXDOMAIN, TTL, answer confinement,
  stopped shared-address box); host-address namespace-mirror rule with
  collision reporting; un-enrolled node-plane baseline set.
- NET-060 accepts `egress.deny_subnets`; NET-067 names the denied range.
- NET-074/075 gain the in-force WHERE; NET-077 keeps the shipped allow-all
  default; three shipped rules superseded, precedence stated.
- NET-079 states its enforcement locus; NET-068 conditioned on the hosts it
  needs; NET-003 resolves to the host-reach address; NET-002 names the
  zone's general form; NET-010 scoped to own-address and `none` boxes;
  NET-016 to permit-range ports; NET-109 retires the surface, not the verb.
- NET-108 retired; NET-107 names the lane's per-mode tests.
- Design reasoning: command-tree binding, bind discipline, field-name
  attribution, precision-versus-floor split; harness stated once; links
  reference-style; provenance narration removed; roles deduplicated.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): restore NET's lists and close the revision-2 review gaps

Revision 2's reference-link reflow collapsed the Non-goals and Open
questions lists into paragraphs; both are lists again. NET-010 and its
injectivity property are scoped WHERE the reserved local range is
present, so NET-123's 127.0.0.1 interim composes with it. NET-121's
failure cases carry the whole design §7.1 bind discipline: revocation
unbinds and terminates established connections, and a failed forwarder
bind is reported, never substituted. Design reasoning states that
egress.deny_subnets has no crate counterpart, that min ls is the tree's
own alias, and NET-072's comment cites box.toml for the canonical
spelling. Bare issue references are links.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): scope NET-127 to the host answerer and close the owner's nits

NET-127 is the host answerer's confinement rule per design §7.1, so it
now triggers on lookups originating on the host OS; in-guest the node's
DNS layer answers with switch addresses, which NET-003 and NET-072/073
rely on. The sixth invariant's enforced-by says the same. NET-124's
NODATA rule covers held names only, leaving unknown names to NET-125.
NET-130 keeps the daemon's registry and cache endpoints in the baseline
enumeration, which is what NET-080's package fetch rests on. NET-003
says "inside boxes" without qualification, NET-123's comment records
that Linux always carries the range on lo, and the retirement non-goal
names the general zone form.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
norrietaylor added a commit that referenced this pull request Sep 18, 2026
* docs(specs): add the local box egress proxy spec (BEP)

docs/specs/24-spec-box-egress-proxy, prefix BEP, written from
gominimal/inbox#625 with the spec-author workflow (interview, three
checkpoints, EARS via spec-ears, tiers via spec-tiers).

Binds the un-enrolled, no-Gatehouse Box Egress Proxy: host-side beside
gvproxy, TLS terminated only for declared credentialed upstreams under a
host-generated name-constrained CA, sealed GitHub members minted by a
local device-flow sign-in, Keychain store references set with
`min secret`, egress re-check, hash-chained local audit. 54 requirements;
the redemption decision at T2 (Kani), expansion validation, name
constraints and audit secrecy at T1. Lint clean apart from the expected
P004 unresolved-test findings.

Architecture of record: gominimal/arch at #67 (Gatehouse v1.19, networking
design v0.7). Contradiction filed as gominimal/arch#69; command-tree
notes on gominimal/arch#70.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): revise BEP after review, applying the arch#69 and arch#70 rulings

Aligns the local Box Egress Proxy spec with gominimal/arch main at 3987a07
(Gatehouse v1.20.1, networking design v0.7.1, command tree after #72).

- Sign-in and minting: both flows under the published GitHub App (BEP-001),
  the sign-in-required creation error (BEP-003), mode and breadth in the
  member and its context (BEP-005/006), un-enrolled validation (BEP-056,
  BEP-057 with the client-configuration acknowledgement), members without
  bounds refused (BEP-058), key and CA lifecycle (BEP-059 to BEP-061), the
  no-re-mint limit as a non-goal.
- Command tree: `min box audit` grammar with `self` refused un-enrolled
  (BEP-042), `min box stop | rm` (BEP-043), F12 record shape with `kind`
  (BEP-039), mints and logouts recorded (BEP-067), `min secret --store`
  and the five-column list (BEP-050 to BEP-053), sections reordered.
- Correctness: upstream TLS validation before substitution (BEP-055),
  hash chain narrowed to what a bare chain detects (BEP-049), BEP-029 on
  both request forms, BEP-040 record equivalence, store-handle contract
  (BEP-063, BEP-064), injection form and CR/LF refusal (BEP-065, BEP-066),
  fail-closed steering while the proxy is down (BEP-062), segment rotation
  (BEP-068), `proxy_env` boolean (BEP-012), proxy user named (BEP-047).
- Design reasoning cites the architecture where it used to argue; crate,
  field ownership, proxy user, and the set-aside HMAC anchor recorded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): close BEP's listener, upstream-validation and sign-in gaps

BEP-026 refuses every connection that is not a box attachment at the
listener, sealed value or not, per Gatehouse §6.10. BEP-055 validates
the upstream chain on every flow the proxy terminated before forwarding
anything on it, so the foreign-credential passthrough is validated no
less than a direct connection. BEP-001 records the un-enrolled sign-in
default: the bare verb and --device run the device flow, --browser
selects the browser flow, with the divergence from the command tree's
prose stated in Design reasoning. BEP-050 refuses an environment-variable
flag as well as an argument. Bare issue references are links.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): pin BEP's store-path checks, host set, and the key-custody invariant

The GitHub v1 host set is defined by citation to Gatehouse §6.10 in
First slice and under BEP-006. BEP-032 names the checks a store
reference passes (BEP-019, BEP-020, BEP-022 to BEP-024, BEP-064) so
one decision function covers both member kinds. BEP-040's secrecy
property is a construction property with a length bound. The sixth
invariant states the access-control claim the requirements make:
unattended access to the keys and store items is the proxy identity's
alone. Design reasoning records why two invariants stay at T0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): define BEP's audit-chain construction, control socket and authority pinning

The audit chain is constructed over SHA-256 of the previous line's bytes
with the proxy as the log's sole writer, so client mint and revocation
records reach it over the control socket rather than a second writer.
That control socket is the operator-owned UDS the client also uses to
register its store-handle key, separate from the redemption listener.
BEP-023 pins an absolute-form request target to the connection
authority as well as Host. A box declaring steering off together with
proxy_env is refused, since the environment would point at a proxy no
injected CA validates. BEP-040's property excludes the chain field and
drops the substring clause; BEP-049's property covers records with a
successor. BEP-003's sub-bullet and BEP-027 are reworded as the
findings asked.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): key BEP-001 to the command tree's sign-in shape

The owner ruled the un-enrolled sign-in default the tree's way: the
bare verb is the browser flow wherever one exists, --device pins the
device flow, and no other flag is added. BEP-001 runs the device flow
on --device, or on the bare verb while no browser flow is shipped; the
browser sub-bullet takes the bare verb once that flow ships. Design
reasoning shrinks to that sentence.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): bind BEP's signing CA to the host-wide union and refuse plaintext credentialed legs

BEP-013 follows the Gatehouse un-enrolled bullet: one keychain-held
signing CA per host, name-constrained to the union of every box's
declared credentialed upstream set, with a box's own reach bounded by
its egress declaration and its sealed values' host sets. A request to a
credentialed host that would ride a non-TLS upstream leg is refused,
since port discipline does not see an absolute-form http request inside
the proxy_env connection and no chain exists to validate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
gominimal-aw-bot Bot added a commit that referenced this pull request Sep 18, 2026
* docs(specs): add the local box egress proxy spec (BEP)

docs/specs/24-spec-box-egress-proxy, prefix BEP, written from
gominimal/inbox#625 with the spec-author workflow (interview, three
checkpoints, EARS via spec-ears, tiers via spec-tiers).

Binds the un-enrolled, no-Gatehouse Box Egress Proxy: host-side beside
gvproxy, TLS terminated only for declared credentialed upstreams under a
host-generated name-constrained CA, sealed GitHub members minted by a
local device-flow sign-in, Keychain store references set with
`min secret`, egress re-check, hash-chained local audit. 54 requirements;
the redemption decision at T2 (Kani), expansion validation, name
constraints and audit secrecy at T1. Lint clean apart from the expected
P004 unresolved-test findings.

Architecture of record: gominimal/arch at #67 (Gatehouse v1.19, networking
design v0.7). Contradiction filed as gominimal/arch#69; command-tree
notes on gominimal/arch#70.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): revise BEP after review, applying the arch#69 and arch#70 rulings

Aligns the local Box Egress Proxy spec with gominimal/arch main at 3987a07
(Gatehouse v1.20.1, networking design v0.7.1, command tree after #72).

- Sign-in and minting: both flows under the published GitHub App (BEP-001),
  the sign-in-required creation error (BEP-003), mode and breadth in the
  member and its context (BEP-005/006), un-enrolled validation (BEP-056,
  BEP-057 with the client-configuration acknowledgement), members without
  bounds refused (BEP-058), key and CA lifecycle (BEP-059 to BEP-061), the
  no-re-mint limit as a non-goal.
- Command tree: `min box audit` grammar with `self` refused un-enrolled
  (BEP-042), `min box stop | rm` (BEP-043), F12 record shape with `kind`
  (BEP-039), mints and logouts recorded (BEP-067), `min secret --store`
  and the five-column list (BEP-050 to BEP-053), sections reordered.
- Correctness: upstream TLS validation before substitution (BEP-055),
  hash chain narrowed to what a bare chain detects (BEP-049), BEP-029 on
  both request forms, BEP-040 record equivalence, store-handle contract
  (BEP-063, BEP-064), injection form and CR/LF refusal (BEP-065, BEP-066),
  fail-closed steering while the proxy is down (BEP-062), segment rotation
  (BEP-068), `proxy_env` boolean (BEP-012), proxy user named (BEP-047).
- Design reasoning cites the architecture where it used to argue; crate,
  field ownership, proxy user, and the set-aside HMAC anchor recorded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): close BEP's listener, upstream-validation and sign-in gaps

BEP-026 refuses every connection that is not a box attachment at
81B0
 the
listener, sealed value or not, per Gatehouse §6.10. BEP-055 validates
the upstream chain on every flow the proxy terminated before forwarding
anything on it, so the foreign-credential passthrough is validated no
less than a direct connection. BEP-001 records the un-enrolled sign-in
default: the bare verb and --device run the device flow, --browser
selects the browser flow, with the divergence from the command tree's
prose stated in Design reasoning. BEP-050 refuses an environment-variable
flag as well as an argument. Bare issue references are links.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): pin BEP's store-path checks, host set, and the key-custody invariant

The GitHub v1 host set is defined by citation to Gatehouse §6.10 in
First slice and under BEP-006. BEP-032 names the checks a store
reference passes (BEP-019, BEP-020, BEP-022 to BEP-024, BEP-064) so
one decision function covers both member kinds. BEP-040's secrecy
property is a construction property with a length bound. The sixth
invariant states the access-control claim the requirements make:
unattended access to the keys and store items is the proxy identity's
alone. Design reasoning records why two invariants stay at T0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): define BEP's audit-chain construction, control socket and authority pinning

The audit chain is constructed over SHA-256 of the previous line's bytes
with the proxy as the log's sole writer, so client mint and revocation
records reach it over the control socket rather than a second writer.
That control socket is the operator-owned UDS the client also uses to
register its store-handle key, separate from the redemption listener.
BEP-023 pins an absolute-form request target to the connection
authority as well as Host. A box declaring steering off together with
proxy_env is refused, since the environment would point at a proxy no
injected CA validates. BEP-040's property excludes the chain field and
drops the substring clause; BEP-049's property covers records with a
successor. BEP-003's sub-bullet and BEP-027 are reworded as the
findings asked.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): key BEP-001 to the command tree's sign-in shape

The owner ruled the un-enrolled sign-in default the tree's way: the
bare verb is the browser flow wherever one exists, --device pins the
device flow, and no other flag is added. BEP-001 runs the device flow
on --device, or on the bare verb while no browser flow is shipped; the
browser sub-bullet takes the bare verb once that flow ships. Design
reasoning shrinks to that sentence.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(specs): bind BEP's signing CA to the host-wide union and refuse plaintext credentialed legs

BEP-013 follows the Gatehouse un-enrolled bullet: one keychain-held
signing CA per host, name-constrained to the union of every box's
declared credentialed upstream set, with a box's own reach bounded by
its egress declaration and its sealed values' host sets. A request to a
credentialed host that would ride a non-TLS upstream leg is refused,
since port discipline does not see an absolute-form http request inside
the proxy_env connection and no chain exists to validate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

0