Skip to content

feat: establish the canonical authenticated service boundary (DG1-P1) - #2

Merged
novelKR merged 2 commits into
mainfrom
codex/dg1-p1
Sep 22, 2026
Merged

novelKR merged 2 commits into
mainfrom
codex/dg1-p1

Conversation

@novelKR

@novelKR novelKR commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Behavior

Deliver DG1-P1 (DG1-C01 and DG1-C02): a canonical, exclusive foreground service boundary and a small authenticated local client. Normal paths come from the OS account, so changing HOME, XDG, a project setting or a command argument cannot create a second normal authority. Explicit bootstrap remains separate from ordinary startup; missing, corrupt and unsupported journals fail closed.

devguardd serve validates and owns the existing journal, authenticates native UDS peer UID/PID and separate consumer/admin credentials, and exposes bounded status communication. The protocol has strict version/field decoding, 64 KiB frames, 32 session workers and absolute 250 ms frame deadlines. Private credential handoff is tested across actual subprocesses, including closure before a later exec. Native registration, principals, workload leases and execution remain closed until the required P2/P3 evidence exists.

The two implementation commits preserve the DG-0 contract/journal format and original 44-test baseline. New daemon/client crates extend the explicit workspace dependency checks; contract/core remain independent of CodeSpace and Codex. English operations/contracts/planning and reviewed Korean counterparts describe the implemented boundary and subsequent work separately.

Validation

  • Rust 1.95.0, one Cargo job and one test thread: full validator passed formatting, Clippy with warnings denied, complete dependency-graph checks and 83 Rust tests on local macOS. Three ignored subprocess helpers are invoked and asserted by their parent tests.
  • Documentation checks passed: eight checker tests, 16 reviewed language pairs, 46 work units, 23 logical PR groups, dependency DAG and local links. The approved design checksum and Apache-2.0 license are unchanged.
  • python3 scripts/qualify.py dg1-authority --offline: 19 functional cases. python3 scripts/qualify.py dg1-auth --offline: 20 functional cases. These are scoped subsets of the regression tests, not additional OS qualification claims.
  • Actual canonical foreground smoke: explicit first bootstrap, native daemon/client identity, FD authentication, closed readiness, duplicate authority refusal, two start/stop cycles, same journal/lock preserved, no remaining endpoint and zero workload attempts.
  • Failure coverage includes FIFO/shared/linked locks, incompatible configuration, credential substitution/leakage, forged peer claims, strict added-field rejection, final response after peer close, slow input/output, partial-frame saturation recovery, stale endpoint reconciliation and bounded shutdown. Independent review found no remaining blocker after the unsafe-lock fix.
  • Existing macOS/Ubuntu CI validation remains required; both scoped functional suites and their reports are added to that matrix. Hosted current-head checks and separate post-merge main checks are verified as delivery gates.

Compatibility, limitations and rollback

Configuration schema remains 1, but system_tasks now requires at least 48 (32 bounded sessions plus 16 service/control tasks). The former C01 value 16 is explicitly rejected. An operator must review capacity and reservations before updating it; there is no automatic migration, capacity enlargement or journal reinitialization. This is an accounting estimate, not a kernel task limit.

Authentication is not isolation from malicious same-UID programs. Frame deadlines are functional transport bounds, not the later end-to-end admission or foreground SLO qualification. Linux CI covers portable contracts and local transport fixtures, not DG-LINUX enforcement. No LaunchAgent, generic execution, self-use, resource-control qualification or CodeSpace runtime integration is delivered here.

Rollback: stop the foreground process and select an artifact compatible with the preserved configuration and schema-1 journal. Preserve credentials, journal and evidence. C01/C02 cannot have launched user workloads; later live-lease rollback must use actual reconciliation rather than this early empty-state assumption.

Local reports, diagnostic evidence and foreground receipts are preserved outside the disposable worktree. After normal exact-head merge and separate main CI success, remove only this task's clean worktree, merged local branch and regenerable build output; retain the remote branch, operational state, credentials and evidence.

@novelKR
novelKR merged commit e04bd46 into main Sep 22, 2026
4 checks passed
@novelKR
novelKR deleted the codex/dg1-p1 branch September 23, 2026 02:47
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