feat: release Dever 0.1.4 with enforceable project guidance
This commit is contained in:
1 parent
201bdee372
commit
89629c2197
86 files changed
+2798
-338
No files matched your search
@@ -12,6 +12,8 @@ Explicit LLVM Worker acceptance consumes the prepared immutable `target/native-r
|
||||
|
||||
Explicit single-libtest acceptance uses `run_command(..., single_harness=True)` and requires the final parent summary to contain exactly one passed test, no failures and no ignored tests. Nested probe summaries must not be added to that parent count; ordinary Cargo multi-harness commands retain aggregate counting. A zero-test parent, failed parent or missing summary is not a pass even if a child probe succeeded. `test/ci/test_gate.py` owns these rejection cases.
|
||||
|
||||
CI source fingerprints include `skills/`: its instructions, embedded project templates and shipped examples are product inputs, so changed or deleted files invalidate prior evidence. The Python stage executes the existing `test/skill_examples.py` for relocated local links, release file budgets, standard-library signatures and tutorial-source bindings; do not duplicate its validators or treat zero-test/failed execution as success. Each `dever` fence in `skills/references/*.md` must immediately follow a `源码:[label](relative-path)` link and a blank line. Its nonempty bytes must uniquely match a continuous excerpt in a shipped template/example module or test source. Missing bindings, changed documentation/source, ambiguous excerpts and unclosed fences fail. Rust `skill_examples` checks the complete projects, production roots, configuration, case-local effects and formatting, including the template; its inventory must cover every example directory. Collections use one-output `each` for mapping, zero-output `each` for actions, and `filter/reduce`; there is no `map` operation. Focused CI wiring checks use `test/ci/test_gate.py` and the actual skill checker, retain its observed test count, and reject deliberate link/signature/tutorial drift through a nonzero exit and the specific failed/error case. Run the collection cases and ordinary-command fake case in owned temporary projects; do not invoke real third-party binaries, databases, services or the full gate.
|
||||
|
||||
The shared `test/native-runtime-abi/managed-driver.c` runs one warmup and 64 repeated entries on joined host threads, then checks strict allocation balance after each join/TLS destruction. Rust's bounded-channel producer may first allocate its 48-byte thread-local Context only after warmup when the queue fills; measuring before the host thread exits misreports that cache as a leak. Preserve process initialization before any thread, original result checks and strict zero allocation delta; do not add retries, random warmups or an allowed-leak threshold. This measures entry-plus-host-thread cleanup, not unbounded TLS growth on a long-lived embedding thread. `test/ci/test_driver.py` compiles the shared driver with the explicit existing author C tool and verifies late TLS cleanup succeeds while intentional per-entry leaks and changed results fail. Suite probes include the same driver instead of copying its ledger.
|
||||
|
||||
Markdown source uses pinned pulldown-cmark in the compiler only. Preserve the `.dever` path and existing semantic/contract checks; shared Markdown extraction/formatting rules and the focused `markdown_source` target are specified in [Toolchain And Official Library Contracts](toolchain-and-library.md).
|
||||
|
||||
Reference in new issue
Block a user