neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Scope-bound, trust-aware release decisions for AI changes: promote, block, or inconclusive.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Review the evidence before the release.
Dailies helps you decide whether an AI change is ready to advance. It runs
your candidate against declared cases, collects evaluation evidence, and
applies your release policy. The report keeps evidence scope, trust, and
missing results visible.
In Claude Code, add the marketplace and install the plugin:
The release-gate skill then walks the agent through dailies init, the
three evidence trust classes, the run, and reading the report and exit codes
as promote, block, or inconclusive.README 전문 보기 ↗Dailies helps you decide whether an AI change is ready to advance. It runs your candidate against declared cases, collects evaluation evidence, and applies your release policy. The report keeps evidence scope, trust, and missing results visible.
In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add luka-zivkovic/dailies
/plugin install dailies@dailies
The release-gate skill then walks the agent through dailies init, the
three evidence trust classes, the run, and reading the report and exit codes
as promote, block, or inconclusive.
For Codex or another agent, paste one line: Read https://raw.githubusercontent.com/luka-zivkovic/dailies/main/plugins/dailies/skills/release-gate/SKILL.md and follow it to set up and run a Dailies release gate in this project.
| Decision | Meaning |
|---|---|
promote | The candidate satisfied the declared policy on the declared evidence scope. |
block | Complete, admissible evidence shows that the candidate violates policy. |
inconclusive | Required evidence is missing, failed, or cannot be verified. |
A failed evidence channel produces inconclusive. Missing evidence stays
visible, with the exact precedence documented under Decision safety.
Dailies runs locally and does not sit on the serving path. It contacts only the candidate, judge, or Rubrist endpoints that you explicitly configure.
Requires Node.js 20 or newer.
npm install --save-dev dailies
npx dailies init
npx dailies --config dailies.config.json
dailies init [directory] creates dailies.cases.jsonl and a valid,
digest-pinned dailies.config.json. It will never overwrite either file. The
starter runs three demonstration cases through a deterministic exact-match
evaluator and writes its reports to dailies-out/:
decision: promote | pass rate 100.0% (3/3), regressions 0, evaluated 3/3, errored 0
report: .../dailies-out/report.json
report: .../dailies-out/report.md
The generated scope deliberately claims only those three demonstration
behaviors. Replace the cases, scope description, and candidate command with
your real release evidence before using the decision in CI. Whenever the JSONL
bytes change, the configured SHA-256 digest and scope.expectedItems must
change with them. dailies digest recomputes both from the exact file bytes
and rewrites only those two keys in place:
npx dailies digest --config dailies.config.json # update the config
npx dailies digest --config dailies.config.json --check # verify only; exit 1 on drift
The command prints the old and new values. --check never writes and is
meant for a CI step that catches an edited corpus before the release run
stops with input artifact digest mismatch.
To run the repository's five-case example instead:
git clone https://github.com/luka-zivkovic/dailies.git
cd dailies
npm ci
npm run build
node dist/cli.js --config fixtures/dailies.config.json
Runnable suite examples, one without and one with calibration evidence, live
under fixtures/examples/. Their manifests and
calibration artifacts are verified offline, but receipt evidence always
comes from a Rubrist HTTP endpoint, so they ship with a local stub that
returns scripted, structurally valid receipts:
node scripts/mock-rubrist.mjs --manifest fixtures/examples/suite/suite-manifest.json &
node dist/cli.js --config fixtures/examples/suite/dailies.config.json
node dist/cli.js --config fixtures/examples/suite-calibrated/dailies.config.json
A promote from these examples demonstrates the report format only; the
stub is not an evaluator.
The command exits with:
| Code | Decision | CI meaning |
|---|---|---|
0 | promote | Policy satisfied. |
1 | block | Candidate should not advance. |
2 | inconclusive | The run or required evidence failed. |
| Command | Purpose | Exit codes |
|---|---|---|
dailies --config <path> | Run the release evaluation and write report.json and report.md. | 0 promote, 1 block, 2 inconclusive or run error |
dailies init [directory] | Create a runnable, digest-pinned single-format starter without overwriting existing files. | 0 created, 2 refused or failed |
dailies digest --config <path> | Recompute the JSONL input digest and line count and update inputs.digest and scope.expectedItems in place (single and suite configurations). | 0 updated or already current, 2 error |
dailies digest --config <path> --check | Report whether the config matches the input artifact without writing. | 0 match, 1 mismatch, 2 error |
Paths inside a config resolve relative to the config file. dailies digest
changes only the two identity keys and preserves the file's key order and
formatting; it never edits thresholds, policy, or scope descriptions.
The repository root ships a composite action, so a release gate needs no
hand-written shell. The action runs npx --yes dailies@<version> --config <config>, appends report.md to the job summary, and maps the exit code:
block fails the job, and inconclusive fails the job by default. Setting
fail-on-inconclusive: false turns it into a ::warning:: line while the
decision output still says inconclusive; it is never mapped to success
silently. Node.js 20 or newer must already be on the runner.
name: release-gate
on: [pull_request]
jobs:
gate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Verify the corpus digest before running
run: npx --yes [email protected] digest --config dailies.config.json --check
- id: dailies
uses: luka-zivkovic/dailies@main
with:
config: dailies.config.json
# version: 0.4.0 # dailies npm version (default: the action's release)
# fail-on-inconclusive: 'true' # 'false' warns instead of failing
# summary: 'true' # append report.md to the job summary
- if: always()
run: echo "decision=${{ steps.dailies.outputs.decision }} exit=${{ steps.dailies.outputs.exit-code }}"
| Input | Default | Meaning |
|---|---|---|
config | required | Path to the Dailies configuration, relative to the workspace. |
version | current release | dailies npm version passed to npx. |
fail-on-inconclusive | true | Fail the step on exit code 2; false emits a warning instead. |
summary | true | Append report.md to $GITHUB_STEP_SUMMARY. |
Outputs: decision (promote, block, or inconclusive), exit-code, and
the absolute report-json and report-md paths (empty when no report was
written). Pin the action to a tag or commit rather than @main for
reproducible gates. The step logic lives in
scripts/action-run.sh and is covered by the test
suite.
Ordinary tests can tell you whether code runs. They cannot tell you whether an AI change regressed a known behavior, whether a judge result is trustworthy, or whether the evidence actually covers the population you intend to release to.
Dailies makes those assumptions explicit:
inconclusive, not synthetic passes or failures.This single-format example evaluates one criterion over an exact, digest-pinned JSONL regression corpus:
{
"contract": "dailies/single-config/v1",
"schemaVersion": 1,
"inputs": {
"type": "jsonl",
"path": "cases.jsonl",
"digest": "sha256:<digest-of-the-exact-file-bytes>"
},
"scope": {
"id": "checkout-regressions-v1",
"kind": "regression_corpus",
"expectedItems": 24,
"collectionProcedure": "Curated failures from reviewed support escalations.",
"population": "Known checkout-assistant failure modes.",
"timeWindow": {
"kind": "not_applicable",
"reason": "This is a static regression corpus."
}
},
"candidate": {
"type": "http",
"url": "http://localhost:8080/generate",
"bodyTemplate": "{\"prompt\": {input}}"
},
"judge": { "type": "exact-match" },
"thresholds": {
"minPassRate": 1,
"maxRegressions": 0
},
"output": { "dir": "./dailies-out" }
}
Each JSONL row has a stable ID and input. baseline_label is optional, but it
is required for a paired comparison; baseline_output supplies evaluator
context and never silently implies that the baseline passed.
{"id":"checkout-001","input":"Where is my order?","baseline_label":"pass","baseline_output":"Your order is in transit."}
See the bundled configuration and single-format reference for the complete contract.
| Integration | Trust class | Intended use |
|---|---|---|
| Built-in exact match | deterministic | Reproducible baseline comparisons without an external judge. |
| Verified Rubrist receipt | verified | Governed evaluator evidence with pinned identity, coverage, and digests. |
| Generic HTTP judge | self_reported | Migration and custom integrations without a verifiable evidence envelope. |
Verified and deterministic evidence are admissible by default. A generic HTTP judge cannot independently promote a release unless the customer policy records an explicit self-reported-evidence override and reason. The override admits the evidence; it does not upgrade its trust class.
If you already run Promptfoo, DeepEval, or Braintrust, Dailies can gate on
those results today only through the generic HTTP judge: a small service you
own calls your platform for each item and returns its pass/fail. That evidence
is self_reported, so it needs the explicit override described above.
Native result-file adapters are proposed, not implemented.
ADR-0006 records the
open questions. Imported results would stay self_reported, even if Dailies
ran the platform itself and pinned the output file's digest. A file digest
proves which bytes Dailies read. It does not verify the platform's results.
Dailies has two formats. Each configuration and report names its format in a
contract field, which the CLI and report inspection dispatch on (ADR-0010):
dailies/single-config/v1, dailies/single-report/v1): one declared scope with exact-match, HTTP, or Rubrist evidence.dailies/suite-config/v1, dailies/suite-report/v1): a pinned, policy-free Rubrist suite under a customer release policy (dailies/release-policy/v1), with separate evidence and policy for each criterion and, optionally, exact local calibration artifacts evaluated per trial without silently pooling variance.The detailed contracts live in the single format and suite format references, and each has a runnable example: single, and the suite without and with calibration.
Release decisions follow a fixed precedence:
inconclusive.block.block, even if unrelated mandatory evidence is missing.inconclusive.This behavior is defined in ADR-0005 and covered by the authored invariant suite. The suite is a correctness gate, not a competitor benchmark or a product-superiority claim.
Please report vulnerabilities using the process in SECURITY.md.
Dailies owns the release consequence. It does not author rubrics, establish human truth, or statically inspect capability packages.
The products share explicit evidence contracts; they do not collapse into one runtime.
PRODUCT.md and accepted ADRs define target behavior. The README describes
the current CLI and does not override those sources.
npm ci
npm run build
npm test
npm run invariant:batch6
npm pack --dry-run
The test suite covers onboarding, configuration, execution, retries, evidence
verification, policy, reporting, tamper cases, and deterministic fault
injection; npm test reports the current test count. GitHub Actions runs the
build, the complete test suite, and the invariant robustness gate on Node.js 20
and 22 for every push and pull request.
See CONTRIBUTING.md for the local checks and review expectations before opening a change.
Dailies is pre-1.0 software. Schema compatibility is deliberate, but the public CLI and library API may still evolve before a stable release.
MIT © 2026 Luka Živković