Skip to content

v0.1.7 fs-bench-pro pilot 1: native init_namespace parity #231

Description

@yifanxuaaa

Current status — 2026-09-23

The native ImportNativeDirectory product route and minimal Core fs-bench-pro harness were merged into main at bb6c3a7df. API proposal docs followed at 7df25f979. The testing-era 128-entry cap is lifted; the pathless manifest is still not native import.

The retained first-pass report records one sample per case/identity: 100 and 1,000 files returned confirmed roots and full independent proof but are cache-ineligible; 10,000 files returned no confirmed root and its complete command missed 15 s; 100,000 remains NOT_RUN. The final-source canary lost one Service telemetry record and is INCOMPLETE. The pilot and four-tier gate remain open. New fast-lane run skips the full oracle by default; run --verify requests proof and does not change old receipts.

Parallel-ready child issues: #236 owns the agent-facing init_project(project_name, path) API and 100/1,000 functional proofs; #237 is research-only: it may instrument and prototype extensively, but must experimentally cut native Init time while keeping CPU/memory bounded and Store compactness intact; its production patch is later work. Existing daemon-host numbers are not a matched v0.1.6 direct-host comparison.


Original filing (retained requirements; implementation-status statements below are historical)

Parent: #230. Harness prerequisite: #235. #179 is closed; its small daemon/Workspace canary is not native Init evidence. Committed specification required before implementation or collection: core/docs/benchmark/fs-bench-pro/issue-231/SPEC.md. Agent handoff: core/docs/benchmark/fs-bench-pro/issue-231/HANDOFF.md.

First pass: three honest Init numbers

Case Files Data directories Logical bytes First-pass status
namespace-100-compact-v3 100 1 5,000,000 Measure once
namespace-1000-compact-v3 1,000 10 20,000,000 Measure once
namespace-10000 10,000 100 300,000,000 Measure once
namespace-100000 100,000 1,000 500,000,000 NOT_RUN; cold-source/2.7 s target remains open

These first three are discovery observations, one raw sample per case at the exact source/build/fixture identity. Keep all failed/ineligible attempts and an independent full verification and cleanup result for each. Do not claim a new v0.1.7 numeric PASS or promote discovery receipts later. The original four-tier final gate remains open until a separately frozen, eligible campaign or explicit owner ruling. The structured-text variants retain separate optional identities.

Authentic route and oracle

Implement the missing public native-directory Init. Its caller timer includes scanning names, reading all source bytes, C1 construction, C2 save/ack and required C5 publication through the real daemon/Service route. Current InitLayerStack is a bounded 128-entry history bootstrap with pre-saved roots; it cannot provide this evidence. Do not pre-save roots, substitute thousands of mounted creates, omit source reads, or split one Init into hidden operations. Retain the registered Init multi-worker exception. Freeze any new operation/schema and case identity before implementation.

Seal a complete expected path/metadata/size/SHA-256 manifest once during fixture preparation. After Init, a separate verifier process reopens the persisted Store/history and reads the entire tree and file contents through public product APIs against that manifest. Its complete invocation, including teardown, must finish within 5 s per case. A sampled or missing full oracle is INCOMPLETE. Declare source cache honestly; without validated cold invalidation and whole-input residency evidence, report source-cache-uncontrolled-v1, discovery-only, and admission_eligible=false. The old 100,000-only cold helper does not qualify smaller tiers.

Development-loop limits and isolation

Use #235's four operations: list, run, verify and report. run --case lazily prepares only that case, builds only changed production binaries through the existing core lock/target, takes one sample, verifies separately, ingests telemetry and cleans owned temporary artifacts. run --family init_namespace shares one build across the three selected tiers. No control/candidate arms, repeated samples or second Cargo workspace.

Every invoked Cargo build, including first-use, must be <=30 s; every full verifier <=5 s; the preparation + three runs + verification + cleanup family cycle is recommended <=30 s and its actual wall must be reported. Preserve the complete performance-command 15 s budget and declared small exceptions up to 25 s. Do not shrink fixtures or oracle work to fit. Report BUILD_SLOW, timeout and family-cycle misses honestly and fix their causes.

Different agents may build and run in separate worktrees concurrently: no machine-global lock. Keep one nonblocking local run flock only for same-worktree mutable state; builds take no benchmark lock. Each worktree owns its target, fixtures and results; each run has fresh Store, output, ports and runtime identities. Record observed shared CPU/disk/cache interference and mark such performance evidence diagnostic rather than a quiet-host admission result.

The new harness places the Init case and independent verifier in core/benchmark/fs-bench-pro/families/init_namespace.py; its focused case/fixture/oracle-refusal test is core/benchmark/fs-bench-pro/tests/test_init_namespace.py. The full proof is the separate verifier invocation and verification.json; LFT1 lines are version-1 JSON telemetry events, not extra benchmark samples.

Completion

The first pass is reviewable when the three raw observations, complete separate oracles, telemetry/cache/resource fields, cleanup proofs, failed attempts and explicit 100,000 NOT_RUN row are retained. This is not final pilot completion. Final completion requires all four mandatory selections to meet their prospectively frozen eligibility, performance, verification, cleanup and custody gates. Do not begin the remaining family migrations before this and the other two prerequisite pilots (#232, #233) pass their final gates.

References: benchmark/fs-bench-pro/families/init_namespace/mod.rs, benchmark/fs-bench-pro/shared/cold.py, core/docs/benchmark/fs-bench-pro/pipeline-and-modes.md, docs/general/benchmark_rules.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions