Skip to content

test: CODEOWNERS enforcement (do not merge)#3

Closed
cambios-agent[bot] wants to merge 1 commit into
mainfrom
test/codeowners-enforcement
Closed

test: CODEOWNERS enforcement (do not merge)#3
cambios-agent[bot] wants to merge 1 commit into
mainfrom
test/codeowners-enforcement

Conversation

@cambios-agent

@cambios-agent cambios-agent Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Throwaway: proves an owned-path (.github/) PR by the bot is blocked pending code-owner review. Closed unmerged.

Throwaway commit by the bot touching an owned path (.github/) to verify that
require_code_owner_reviews blocks bot self-merge there. The PR will be closed
unmerged and the branch deleted.

Staged files:
  .github/codeowners-enforcement-test.txt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cambios-agent cambios-agent Bot requested a review from riccajason as a code owner June 8, 2026 23:07
@cambios-agent

cambios-agent Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

Enforcement confirmed: green CI but merge blocked pending code-owner review. Closing unmerged.

@cambios-agent cambios-agent Bot closed this Jun 8, 2026
@cambios-agent cambios-agent Bot deleted the test/codeowners-enforcement branch June 8, 2026 23:13
cambios-agent Bot added a commit that referenced this pull request Jun 10, 2026
* docs: ADR-037 Native App Framework (Proposed)

Proposes the layered userspace app framework (the prioritized #3 direction):
  - L0 `libsys-rt`  — runtime: #[service_main] entry macro, panic handler, allocator
  - L1 `libipc`     — typed IPC stdlib: Message + ServiceError/Result + ServiceLoop<Handler>
  - L2 `libui`      — GUI toolkit (widgets/layout/event loop libgui v0 deferred)
  - L3 `cambios-pkg`— signed manifest/package, handed to ADR-018 (already owns the manifest)

MVP = L0 + L1 core; zero new kernel syscalls (verification-neutral). First consumer =
rewrite policy-service (prove before greenfield). Grounded in the scoping run: 23 services
/ ~12k LOC repeat ~10 boilerplate areas (333 marshalling sites, 11 reinvented status sets,
24 duplicate linker scripts) — est. 10-15x per-service reduction. Extends libsys/libgui,
does not replace them; all of L0-L2 is pure userspace (push cycles out of the kernel ring).

Status: Proposed. Two OPEN DECISIONS flagged for sign-off:
  1. Framework license — MPL-2.0 (by libsys precedent; apps free to pick their license) vs
     AGPL-3.0-or-later (whole-userspace copyleft). Draft default MPL; values call.
  2. ADR scope — L0-L2 here + L3 to ADR-018 (recommended) vs one ADR for all four layers.

Allocated via `make new-adr` (8a01c8a) — the first ADR numbered through the tool rather
than by eyeballing max+1 (the failure that nearly produced a duplicate ADR-036).

Staged files:
  docs/adr/037-native-app-framework.md
  docs/adr/INDEX.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: ADR-037 revision — narrow L3 to service scaffolding, sharpen ADR-018 boundary

Review feedback (ADR-037 vs ADR-018):
  - L3 is NOT a manifest/package format. ADR-018 owns the signed manifest, its wire
    format, signing, and the kernel reservation table. L3 narrowed to authoring
    ergonomics: the canonical link.ld (replacing 24 dupes) + a service-crate template.
    Title: "package layering" -> "service scaffolding".
  - Phase-2 endpoint registry reframed as the build-time SOURCE artifact that
    tools/build-manifest (ADR-018 step 2) consumes — unidirectional, convergence
    direction determined, never a parallel or runtime authority.
  - Boilerplate claim is now measured (write user/init twice: raw libsys vs framework,
    report the delta) rather than a speculative 10-15x — init is a real not-yet-written
    target, so the "raw" baseline is not a strawman.
  - License settled: L0-L2 MPL-2.0 (libsys precedent, linkable surface); L3 permissive
    (Apache-2.0/CC0 — copied-from, not linked-into; a distinct question). Scope agreed.
  - Verification posture stated: L0-L3 are outside the kernel verification target
    (matching ADR-018's init stance); host-test bar = libgui (26 / 13 / 8).
  - #[service_main] is a macro_rules! macro (no syn/quote). L0-L2 are kernel-ABI-neutral
    and land in any order vs ADR-018 steps 1-7. webmin/drainer portal marked a candidate
    consumer (one-line definition), not a standing placeholder.
  - Added a "Relationship to ADR-018" boundary table.

Staged files:
  docs/adr/037-native-app-framework.md
  docs/adr/INDEX.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: ADR-037 — satisfy check-deferrals (Convention 9 triggers)

The CI baseline-lints gate (check-deferrals) flagged 2 deferral tokens in the
ADR-037 draft without an adjacent observable trigger:
  - L1 Encode/Decode derive: now "held back. Revisit when: a second real
    request/response struct needs it" — an explicit Convention-9 trigger.
  - L2: "libgui v0 deferred" -> "the tier that libgui v0 left out" — describes
    libgui's existing scope, removing the trigger-less token.
No decision/content change; the lint correctly caught the draft's prose (the
guardrail working on agent output, including the ADR-drafting agent).

Staged files:
  docs/adr/037-native-app-framework.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: cambios-agent[bot] <291873290+cambios-agent[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

0 participants