noqt commited on
Commit
ff3119d
·
unverified ·
2 Parent(s): 418f8775793e57

Merge reviewed Eggcracker guidance and truthful self-service surface

Browse files

Integrates only the independently accepted attribution, repository guidance, and public-surface changes. No GitHub Release, package publication, deployment, repository-settings change, or expanded product claim.

.github/ISSUE_TEMPLATE/bug_report.yml CHANGED
@@ -1,16 +1,16 @@
1
  name: Bug report
2
- description: Report a reproducible Lumi Nutcracker defect
3
  title: "[Bug]: "
4
  labels: [bug]
5
  body:
6
  - type: markdown
7
  attributes:
8
- value: Do not include credentials, private model files or sensitive exploit details. Use private vulnerability reporting for security issues.
9
  - type: input
10
  id: version
11
  attributes:
12
  label: Version
13
- placeholder: 0.1.0
14
  validations:
15
  required: true
16
  - type: input
 
1
  name: Bug report
2
+ description: Report a reproducible Eggcracker defect (sign-in and repository permission required)
3
  title: "[Bug]: "
4
  labels: [bug]
5
  body:
6
  - type: markdown
7
  attributes:
8
+ value: GitHub currently restricts issue creation in this repository, so this tracked form is not an anonymous feedback channel. If you have permission to open an issue, do not include credentials, private model files or sensitive exploit details. Use private vulnerability reporting for security issues.
9
  - type: input
10
  id: version
11
  attributes:
12
  label: Version
13
+ placeholder: 0.4.0 or exact source commit
14
  validations:
15
  required: true
16
  - type: input
.github/pull_request_template.md CHANGED
@@ -1,6 +1,6 @@
1
  ## Summary
2
 
3
- Describe the user-visible change and why it belongs in Lumi Eggcracker's narrow kill-switch scope.
4
 
5
  ## Verification
6
 
 
1
  ## Summary
2
 
3
+ Describe the user-visible change and why it belongs in Eggcracker's narrow kill-switch scope.
4
 
5
  ## Verification
6
 
AGENTS.md ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Eggcracker repository instructions
2
+
3
+ These instructions apply to the whole repository. A deeper `AGENTS.md` may add
4
+ narrower rules for its subtree, but it may not relax the safety, evidence,
5
+ rights, preservation, or publication boundaries below.
6
+
7
+ ## Authority and source truth
8
+
9
+ 1. Exact action-specific founder, legal, risk, and publication authority in the
10
+ governing company control plane takes precedence.
11
+ 2. An accepted bounded work order controls scope, branch, worktree, tests, and
12
+ stop conditions.
13
+ 3. This file controls repository-local execution. Current tracked source,
14
+ tests, `README.md`, `SECURITY_MODEL.md`, `LIMITATIONS.md`, and
15
+ `QUALIFICATION.md` are the product-behaviour evidence to reconcile, not
16
+ permission to broaden an action.
17
+
18
+ The public source repository is
19
+ `https://github.com/noqt/Lumi-Eggcracker`. Bind work to an exact commit; do not
20
+ treat a local branch name, stale local `main`, tag, build, or worktree as proof
21
+ of current public state. On an instruction, source, documentation, or evidence
22
+ conflict, preserve the state and stop the affected claim or mutation until the
23
+ conflict is reconciled.
24
+
25
+ ## Destructive enforcement boundary
26
+
27
+ Eggcracker is a privileged native-Linux enforcement daemon, not an alert-only
28
+ tool. An unapproved **complete** match to an active qualified profile is stopped,
29
+ captured into the exact delegated cgroup, and automatically killed with
30
+ `cgroup.kill`; it does not wait for operator confirmation. Root installation,
31
+ native discovery, containment, watchdog, cgroup, or uninstall tests may run only
32
+ under an explicit bounded assignment in a disposable supported Linux
33
+ environment whose loss is acceptable. Record the exact host/VM, kernel,
34
+ systemd/cgroup-v2 capabilities, operator, commit, artifacts, and cleanup result.
35
+ Never run destructive qualification on a workstation, server, shared host, or
36
+ non-disposable environment.
37
+
38
+ Exactly two profiles are active in version 0.4.0:
39
+
40
+ - `content.gguf-llama`: a bounded plausible GGUF v2/v3 header plus either the
41
+ qualified llama.cpp/GGML ELF marker pair or the exact pinned launcher build
42
+ ID.
43
+ - `content.safetensors-pytorch`: a structurally valid contiguous Safetensors
44
+ artifact plus the exact pinned CPU PyTorch bridge-and-ATen ELF build-ID pair,
45
+ observed in one process or the documented bounded related workload using the
46
+ dedicated workload UID.
47
+
48
+ Name-only Ollama, vLLM, TGI, LocalAI, llamafile, agent-CLI, and other catalogue
49
+ entries are inactive research until separately qualified. Do not claim
50
+ universal or arbitrary AI/agent/runtime identification, proof of inference,
51
+ malware prevention or detection, IDS/EDR capability, sandboxing, network,
52
+ credential, or filesystem isolation, container/cloud/remote-API protection,
53
+ zero escape, or protection of unobserved or already-escaped processes. A receipt
54
+ proves only that the exact captured quarantine cgroup was empty at the recorded
55
+ point.
56
+
57
+ ## Evidence and claims
58
+
59
+ Use only these evidence labels:
60
+
61
+ - `OBSERVED`: directly inspected fact, bound to source, time, and identity.
62
+ - `IMPLEMENTED_INTERNAL`: present in an exact commit or artifact and exercised
63
+ by named internal checks; not independent use or market evidence.
64
+ - `INTENDED`: planned or designed but not demonstrated as implemented.
65
+ - `UNSUPPORTED`: absent, conflicting, stale, or insufficient evidence; do not
66
+ present the claim as fact.
67
+
68
+ Bind every technical result to the exact commit and artifact hash, test command,
69
+ OS/host or VM, Python version, timestamp, and relevant skips or limitations.
70
+ Do not generalise a fixture, internal Windows control run, one Linux host, CI
71
+ run, or receipt into universal capability, native qualification on another
72
+ host, independent installation, adoption, demand, or safety assurance.
73
+
74
+ Current release snapshot, recorded 12 August 2026 and requiring revalidation
75
+ before any external use:
76
+
77
+ - public annotated `v0.4.0` and its CI run are bound to
78
+ `418f877f0d450aeb26d4a1233257746808c490e5`; the recorded CI passed Ruff,
79
+ 69 unit tests, build, and release verification;
80
+ - no matching GitHub Release was observed; and
81
+ - local commit `a3ad746682c89599ce582cd97acf5a99742dc3aa` is an unpushed
82
+ attribution-only descendant. Its exact candidate has **internal Windows
83
+ control evidence** accepted by a separate internal control reviewer for Ruff,
84
+ 69 tests with three documented Windows skips, build/release verification,
85
+ hashes, archive identity, and preservation. This was an internal control
86
+ review, not an independent external audit or assessment. It is not public,
87
+ native-Linux qualification, independent use, or market evidence.
88
+
89
+ ## Proportional verification
90
+
91
+ Run only checks material to the change, and report what actually ran:
92
+
93
+ - documentation-only: instruction precedence, links and repository paths,
94
+ evidence/claim vocabulary, prohibited-claim scan, one-file scope where
95
+ applicable, and `git diff --check`;
96
+ - Python or behavioural change: Ruff and the complete unit-test suite;
97
+ - packaging or release-material change: Ruff, unit tests, release build, and
98
+ `verify_release.py`, with exact artifact hashes; and
99
+ - detector, profile, approval, root boundary, cgroup, watchdog, containment,
100
+ install/uninstall, or other security-material change: all applicable checks
101
+ above plus the complete commit- and host-bound native qualification in
102
+ `QUALIFICATION.md`, inside the disposable supported Linux environment.
103
+
104
+ A Windows pass cannot substitute for a native gate. Do not silently weaken a
105
+ test, skip, threshold, negative control, or qualification matrix to obtain PASS.
106
+
107
+ ## Preservation, compatibility, and rights
108
+
109
+ Treat Git history, tags, untracked files, generated candidates, evidence packs,
110
+ receipts, manifests, checksum files, and release artifacts as protected. Before
111
+ mutation, inventory the original checkout and all worktrees; after mutation,
112
+ prove preservation. Never use destructive reset, clean, history rewrite,
113
+ force-push, tag replacement, bulk overwrite, or deletion without exact
114
+ authority. Write new evidence and artifacts to a fresh task- and commit-bound
115
+ location, hash them, and stage only an explicit intended file list.
116
+
117
+ Preserve established repository, package, command, socket, policy, receipt,
118
+ manifest, artifact, and schema identifiers unless an authorised compatibility
119
+ plan proves the transition. The project is Apache-2.0: retain `LICENSE` and all
120
+ applicable notices and third-party terms. Do not change legal holders,
121
+ copyright/attribution, licence posture, or add a materially licensed dependency
122
+ without the corresponding reserved review and authority. Do not invent,
123
+ introduce, or infer a current company brand; preserve existing product and
124
+ technical identifiers where compatibility or provenance requires them.
125
+
126
+ Local branches, permanent worktrees, commits, test artifacts, and release
127
+ preparation are not pushes, tags, GitHub Releases, deployments, publication, or
128
+ public claims. Perform any product-remote push, tag creation/change, release,
129
+ deployment, or publication only with exact action-specific authority for this
130
+ repository, after independent review. Silence, an existing public tag, passing
131
+ CI, or a locally accepted candidate is not publication authority.
132
+
133
+ ## Runtime, privacy, and secrets
134
+
135
+ In the controlled local execution environment, operate only on F: and G:.
136
+ Before any runtime, test, or tool that may use temporary or cache storage, create
137
+ a task-specific `[TASK_TEMP]` on F: or G: with
138
+ `New-Item -Path [TASK_TEMP] -ItemType Directory -Force -ErrorAction Stop` (do
139
+ not substitute `-LiteralPath` on `New-Item`); resolve it, prove it exists as a
140
+ directory on exactly F: or G:, set `TEMP`, `TMP`, `TMPDIR`, and
141
+ `PYTHONDONTWRITEBYTECODE`, and start a fresh runtime that asserts its selected
142
+ temporary directory resolves exactly to `[TASK_TEMP]`. Abort before substantive
143
+ execution on creation, resolution, drive, or equality failure. Disable caches
144
+ or bind them explicitly to F: or G:.
145
+ `Environment-variable assignment alone is not evidence.`
146
+
147
+ Do not inspect credential stores, reveal secrets, commit machine-specific paths,
148
+ personal data, raw process arguments or environments, private external data, or
149
+ customer/user material. Use synthetic fixtures and redacted, bounded evidence.
150
+ Raw arguments and environment values do not belong in approvals, detections,
151
+ receipts, logs, or committed guidance.
LIMITATIONS.md CHANGED
@@ -1,6 +1,13 @@
1
  # Limitations
2
 
3
- Lumi Eggcracker 0.4.0 autonomously acts only on a complete match from its two active, publicly qualified content profiles. Its content path supports a regular GGUF v2/v3 artifact combined with a qualified llama.cpp/GGML ELF runtime, or a regular Safetensors artifact combined with the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair. The two evidence groups may be observed in one process or across a bounded related workload using the installed dedicated workload UID: a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup. Unrelated same-UID or common-init processes are not joined. There is no guarantee for evidence that escaped before observation, unobserved processes, or containerised or remote workloads. It does not recognise arbitrary, custom, fully stripped, encrypted or otherwise unlisted AI/agent workloads.
 
 
 
 
 
 
 
4
 
5
  Name-only profiles for Ollama, vLLM, TGI, LocalAI, llamafile and agent CLIs are intentionally not active in this release. They require exact invocation fixtures and launcher-identity qualification before they can become destructive profiles.
6
 
 
1
  # Limitations
2
 
3
+ Eggcracker 0.4.0 autonomously acts only on a complete match from its two active, contract-qualified content profiles. Its content path supports a regular GGUF v2/v3 artifact combined with a qualified llama.cpp/GGML ELF runtime, or a regular Safetensors artifact combined with the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair. The two evidence groups may be observed in one process or across a bounded related workload using the installed dedicated workload UID: a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup. Unrelated same-UID or common-init processes are not joined. There is no guarantee for evidence that escaped before observation, unobserved processes, or containerised or remote workloads. It does not recognise arbitrary, custom, fully stripped, encrypted or otherwise unlisted AI/agent workloads.
4
+
5
+ The qualification contract is published in `QUALIFICATION.md`. Project records
6
+ report a complete native result for exact commit
7
+ `418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host, but the
8
+ checksum-bound evidence pack is not retained in this repository or a public
9
+ GitHub Release. That project-recorded result is not independently re-verifiable
10
+ from the durable public surface and does not qualify another commit or host.
11
 
12
  Name-only profiles for Ollama, vLLM, TGI, LocalAI, llamafile and agent CLIs are intentionally not active in this release. They require exact invocation fixtures and launcher-identity qualification before they can become destructive profiles.
13
 
QUALIFICATION.md CHANGED
@@ -1,5 +1,15 @@
1
  # Qualification
2
 
 
 
 
 
 
 
 
 
 
 
3
  The 0.4.0 candidate is releasable only when its exact commit passes the complete 0.3.1 regression, strict Safetensors and PyTorch/ATen direct tests, the existing selected-workload matrix, the native autonomous-discovery matrix, the GGUF and Safetensors content-recognition matrices, the combined detector self-protection matrix, and the host-overhead benchmark on one Ubuntu VM.
4
 
5
  Mandatory autonomous gates are: 100/100 unapproved fixture discoveries and complete tree kills, 100/100 unrelated-canary survivals, zero surviving bounded replacement attempts, zero reused-PID signals, 50/50 exact approved survivals, zero kills in the benign and partial-match matrices, zero workload policy/socket accesses, restart recovery, p95 qualifying-snapshot-to-stop below 100 ms, and p95 trigger-to-empty below 500 ms. Full process-start-to-stop time is retained as diagnostic evidence because real model startup can occur before the runtime identity becomes observable; it is not a containment-latency gate.
 
1
  # Qualification
2
 
3
+ This file defines the native qualification contract for an exact candidate and
4
+ host. Project records report a complete result for commit
5
+ `418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host. The
6
+ corresponding checksum-bound native evidence pack is not retained in this
7
+ repository, a public GitHub Release, or current authorised durable evidence.
8
+ Treat that result as project-recorded and commit-bound, not as independently
9
+ re-verifiable native evidence or a qualification of another host. Re-run every
10
+ gate below on the exact source and target host before making a current native
11
+ qualification claim.
12
+
13
  The 0.4.0 candidate is releasable only when its exact commit passes the complete 0.3.1 regression, strict Safetensors and PyTorch/ATen direct tests, the existing selected-workload matrix, the native autonomous-discovery matrix, the GGUF and Safetensors content-recognition matrices, the combined detector self-protection matrix, and the host-overhead benchmark on one Ubuntu VM.
14
 
15
  Mandatory autonomous gates are: 100/100 unapproved fixture discoveries and complete tree kills, 100/100 unrelated-canary survivals, zero surviving bounded replacement attempts, zero reused-PID signals, 50/50 exact approved survivals, zero kills in the benign and partial-match matrices, zero workload policy/socket accesses, restart recovery, p95 qualifying-snapshot-to-stop below 100 ms, and p95 trigger-to-empty below 500 ms. Full process-start-to-stop time is retained as diagnostic evidence because real model startup can occur before the runtime identity becomes observable; it is not a containment-latency gate.
README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Lumi Eggcracker
2
 
3
  **Deterministic containment for unapproved local AI workloads on Linux.**
4
 
5
- Lumi Eggcracker is a privileged Linux enforcement daemon for a narrow,
6
  published catalogue of locally observed AI workloads.
7
 
8
  > Engineering preview: when a complete qualified match has no exact root approval,
@@ -15,7 +15,7 @@ There is no alert-only phase for an unapproved catalogue match. Containment begi
15
  ## What it does
16
 
17
  - continuously scans host processes and performs a startup scan before accepting control commands;
18
- - detects only the two publicly qualified content/runtime profiles below; unqualified name-only catalogue entries are not active in this release;
19
  - recognises the qualified `content.gguf-llama` profile without depending on executable or model filename: a bounded plausible GGUF v2/v3 header and either two llama.cpp/GGML ELF runtime markers or the exact pinned llama.cpp launcher build ID are both required;
20
  - recognises `content.safetensors-pytorch` when a structurally valid Safetensors artifact and the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair appear in one process or across a bounded related workload using the installed dedicated workload UID (a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup); unrelated same-UID or common-init processes are not joined;
21
  - lets the configured operator approve one exact executable, UID and invocation before it is run;
@@ -29,7 +29,16 @@ Eggcracker does not identify every possible AI implementation. Content recogniti
29
 
30
  A successful receipt proves the captured quarantine cgroup is empty. It does not prove that a process which escaped before detection never existed.
31
 
32
- ## Publicly qualified profiles
 
 
 
 
 
 
 
 
 
33
 
34
  | Profile | Exact qualification | Active in 0.4.0 |
35
  | --- | --- | --- |
@@ -46,7 +55,28 @@ A successful receipt proves the captured quarantine cgroup is empty. It does not
46
 
47
  ## Quick start
48
 
49
- Download and extract `lumi-eggcracker-0.4.0-linux.zip`, then run as root:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  ```sh
52
  cd lumi-eggcracker-0.4.0
 
1
+ # Eggcracker
2
 
3
  **Deterministic containment for unapproved local AI workloads on Linux.**
4
 
5
+ Eggcracker is a privileged Linux enforcement daemon for a narrow,
6
  published catalogue of locally observed AI workloads.
7
 
8
  > Engineering preview: when a complete qualified match has no exact root approval,
 
15
  ## What it does
16
 
17
  - continuously scans host processes and performs a startup scan before accepting control commands;
18
+ - detects only the two contract-qualified content/runtime profiles below; unqualified name-only catalogue entries are not active in this release;
19
  - recognises the qualified `content.gguf-llama` profile without depending on executable or model filename: a bounded plausible GGUF v2/v3 header and either two llama.cpp/GGML ELF runtime markers or the exact pinned llama.cpp launcher build ID are both required;
20
  - recognises `content.safetensors-pytorch` when a structurally valid Safetensors artifact and the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair appear in one process or across a bounded related workload using the installed dedicated workload UID (a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup); unrelated same-UID or common-init processes are not joined;
21
  - lets the configured operator approve one exact executable, UID and invocation before it is run;
 
29
 
30
  A successful receipt proves the captured quarantine cgroup is empty. It does not prove that a process which escaped before detection never existed.
31
 
32
+ ## Active contract-qualified profiles
33
+
34
+ The table states the exact profile contract implemented by this source. Project
35
+ records report that these profiles passed the native qualification gates for
36
+ commit `418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host.
37
+ The corresponding checksum-bound native evidence pack is not retained in this
38
+ repository or a public GitHub Release, so that result is not independently
39
+ re-verifiable from the durable public surface. Run the qualification in
40
+ [QUALIFICATION.md](QUALIFICATION.md) on the exact commit and target host before
41
+ relying on it.
42
 
43
  | Profile | Exact qualification | Active in 0.4.0 |
44
  | --- | --- | --- |
 
55
 
56
  ## Quick start
57
 
58
+ There is currently no v0.4.0 GitHub Release or durable anonymous download for
59
+ the Linux bundle. To evaluate the tagged source, build it locally in a disposable
60
+ Ubuntu VM:
61
+
62
+ ```sh
63
+ git clone --branch v0.4.0 --depth 1 https://github.com/noqt/Lumi-Eggcracker.git
64
+ cd Lumi-Eggcracker
65
+ test "$(git rev-parse HEAD)" = "418f877f0d450aeb26d4a1233257746808c490e5"
66
+ python3 scripts/build_release.py --output dist/local
67
+ python3 scripts/verify_release.py \
68
+ --artifact dist/local/lumi-eggcracker-0.4.0.pyz \
69
+ --source-archive dist/local/lumi-eggcracker-0.4.0-source.zip \
70
+ --release-bundle dist/local/lumi-eggcracker-0.4.0-linux.zip
71
+ ```
72
+
73
+ Alternatively, a signed-in GitHub user may download the authenticated
74
+ `lumi-eggcracker-v0.4.0` artifact from the
75
+ [successful `v0.4.0` tag workflow](https://github.com/noqt/Lumi-Eggcracker/actions/runs/31472099403)
76
+ while GitHub retains it, then perform the same source-commit and
77
+ `verify_release.py` checks. A CI artifact is not a durable anonymous Release
78
+ channel. After validation, extract `lumi-eggcracker-0.4.0-linux.zip` and run as
79
+ root:
80
 
81
  ```sh
82
  cd lumi-eggcracker-0.4.0
SECURITY.md CHANGED
@@ -1,6 +1,6 @@
1
  # Security policy
2
 
3
- Lumi Eggcracker is a privileged local process-containment preview. Test only workloads and machines you own or administer.
4
 
5
  Report vulnerabilities privately through the repository security-advisory channel. Do not include exploit code, machine-specific paths, credentials, or live workload details in public issues.
6
 
 
1
  # Security policy
2
 
3
+ Eggcracker is a privileged local process-containment preview. Test only workloads and machines you own or administer.
4
 
5
  Report vulnerabilities privately through the repository security-advisory channel. Do not include exploit code, machine-specific paths, credentials, or live workload details in public issues.
6
 
pyproject.toml CHANGED
@@ -10,7 +10,6 @@ readme = "README.md"
10
  requires-python = ">=3.11"
11
  license = "Apache-2.0"
12
  license-files = ["LICENSE"]
13
- authors = [{name = "Skylark.AI"}]
14
  dependencies = []
15
  keywords = ["ai", "agents", "cgroups", "kill-switch", "linux"]
16
  classifiers = [
 
10
  requires-python = ">=3.11"
11
  license = "Apache-2.0"
12
  license-files = ["LICENSE"]
 
13
  dependencies = []
14
  keywords = ["ai", "agents", "cgroups", "kill-switch", "linux"]
15
  classifiers = [