example-package-inspection.md
Book Agent 0.1.0 · 本版随附原文,按章节提供导览;完整原文可在文末展开。文内本机路径属于示例,请替换为你的实际路径。
本版本其他文档与许可
- 用户完整使用手册.md
- 网站发布交接说明.md
- 一句话安装提示词.md
- 安装Agent操作指南.md
- README-交付说明.md
- README.md
- dependency-licenses.json
- acceptance.md
- architecture.md
- build.md
- codex-diagnostics.md
- contracts.md
- deployment.md
- evaluation.md
- example-package-inspection.md
- hosts.md
- mcp.md
- package-format.md
- portability.md
- query-runtime.md
- rerankers.md
- retrieval.md
- security.md
- source-resolution.md
- sqlite-adapters.md
- troubleshooting.md
- visual-fallback.md
- windows-binary-validation.md
- offline-dependency-licenses.json
- 289bfef3a422b5d7-LICENSE
- 320fb46da982dd20-LICENSE
- 0d26a74c4cd409f1-LICENSE
- 29f0a9349a98f786-LICENSE.txt
- 8fe2fae6851b8b02-LICENSE_zstd.txt
- 5927d884110638aa-LICENSE
- c1aedbaa6db194c8-LICENSE
- 2e2d841f3829cb8c-LICENSE
- 37deb54162951132-LICENSE
- 1c294ee0ed0fe5a4-LICENSE.txt
- 9cbd6b2bcad1331c-LICENSE.txt
- 22cdd958c280cb3f-LICENSE.APACHE
- 33a7c36a4f64f214-LICENSE.BSD
- 8e9b59db150b8b29-LICENSE
- 9d2d6534b255a725-LICENSE
- 44ac41031103bcac-LICENSE
- 39d084ff20ffc40e-LICENSE.txt
- b6618d8dc766ea7c-LICENSE.md
- 696bca653f07d94f-LICENSE
- 1a79882f84c42428-LICENSE.md
- 404602f585d7ece7-LICENSE
- d91c8e1dcc4f21a2-LICENSE.md
- b0ec1e6164c921a7-LICENSE.txt
- 2102cfff7eb71b8c-LICENSE.txt
- 60b346c789b9f38f-LICENSE
- 21b64ce33aa4532a-LICENSE
- 37bbe72ee1bbafbd-LICENSE
- 3a70ad943ce55a72-LICENSE.txt
- 0f4ffb2948b11d2f-LICENSE.txt
- 0f552da71ad28735-LICENSE.txt
- 14c3180f75c13432-LICENSE.txt
- 237d5ce190d18ec8-LICENSE.md
- 33f4c2195fc42df4-LICENSE.md
- 34e0a82278464f7a-LICENSE.md
- 606163a509c60e74-LICENSE.txt
- 68188ef77bc0f51d-LICENSE.md
- 7d261385d7c11247-LICENSE.md
- 892e6e9281e05f9e-LICENSE.md
- a62d8b7410f97d10-LICENSE
- aefd64774c70ee6f-LICENSE
- ba28e7ff75ea728b-dragon4_LICENSE.txt
- c21c93791addfba9-LICENSE.md
- c38cab56d01cd957-LICENSE
- caa67dbe4c1ea31d-LICENSE.md
- ddfcf34665e22241-LICENSE
- f384fe378597d8ee-LICENSE.md
- fa40db527ec8a4f8-LICENSE.md
- 11c854e2fea5c3c3-LICENSE
- e9a5bac8b5a01882-LICENSE.APACHE
- ef96a0844cda24cd-LICENSE.BSD
- 60b8570677f4c852-LICENSE
- b750eeade19bb396-LICENSE
- 7d70cfb623ece0f5-LICENSE
- c6dc91d12372ba7d-LICENSE
- 4d610a0401713428-LICENSE
- b4cf246d7037e3e5-LICENSE
- 6ba7e4be3a3e5e98-LICENSE.rst
- bd6c3caec9dc0b2c-LICENSE
- 404f172525c78526-LICENSE
- ea58743ddd8149fe-LICENSE
- d94ac33ee6c5b99c-LICENSE
- 06fc5f72f75ece40-LICENSE
- 6ee341f79804040b-LICENSE
- ca8b44050606bf3f-LICENSE.txt
- 0eb90f9858c86a9d-MAPIStubLibrary-License.txt
- 0f36ec7ac95c3104-Scintilla-License.txt
- 1445ad867b84e928-LICENSE.txt
- 1b588beb4a04f4c3-LICENSE
- 3c06ee52d5d89b25-License.txt
- 6300165282b47172-License.txt
- 6eec8b7b9c778ef7-License.txt
- 6fbb090f28b7d9d7-NOTICE.md
- 7f00f05027a6f1b3-license.txt
- 881f648ef42a607c-License.txt
- ae73a46638a88910-License.txt
- c2a4985aa4145fc3-License.txt
- cf5cae3ab668ac79-License.txt
- d04b9dead3df9f2b-License.txt
- dc8527163d427906-LICENSE.txt
- ff463f305e7e68dc-license.txt
- 1f5c94674bb026f1-LICENSE
- 0fb05a2e9284070c-LICENSE.txt
- bd7b91afd66e7fa0-NOTICE
- fb0b720c70d8ce6a-LICENSE
- fcd0c1933c03449f-LICENSE
- 07c67dcb9a0a1264-LICENSE
- 0e45092c306c1829-LICENSE
- 123439bfbc433e83-LICENSE.APACHE
- 1ab641e9121b81f5-LICENSE
- 4094fd3590b59adb-NOTICE
- 4a7fd6a9c689e423-LICENSE
- 4d09286af1bf926b-LICENSE
- 63a92caf8157263d-LICENSE
- 6562dd76db576ab9-LICENSE
- 8b28658c9e8179cb-LICENSE.txt
- 9fe05a3195b3cc3f-LICENSE
- aeab75b4c2775e84-LICENSE
- b8b1f5f03784d7a5-LICENSE
- c2780f51d1429c4b-LICENSE
- c80865de46db705d-LICENSE.BSD
- c9e41e71fb671b2e-LICENSE
- d6b8bc4557547f24-LICENSE
- e972ee51f8cb405e-NOTICE
- e453abd81b5ad12e-LICENSE
- 717f721f1be51398-LICENSE.md
- 767eeaf795dbfce8-LICENSE
- 94e2a313c2183fa6-LICENSE.txt
- 3391f6db464bf907-LICENSE
- c4388b01504343b0-LICENSE
- 000af5e58f31978d-LICENSE.txt
- 012d34b072b31cdb-LICENSE
- 020fa8056b9cc414-LICENSE
- 057ffcbbade9301e-LICENSE
- 096eee7c37050ec5-LICENSE
- 0b14d5ccfc8ae3b6-LICENSE
- 0d84796ed41f21b5-LICENSE.txt
- 0f51b035ee2b205e-LICENSE.txt
- 15ac02d83e9f5cf0-LICENSE
- 1987b9857feb2977-LICENSE
- 1ab5abcd87c44e46-LICENSE.rst
- 1b491a95f1ea6812-LICENSE
- 1bddb28b536554a8-LICENSE
- 1e0dae2d67a75d8f-LICENSE
- 1f00093269c431aa-LICENSE
- 1f88918564d6b190-LICENSE.txt
- 23170591db6c2e35-LICENSE
- 24e7a39da250d246-LICENSE
- 25356621a82f4798-LICENSE
- 2b6931cc6558558d-LICENSE
- 2e20b75d944dfc10-LICENSE.rst
- 3148042f9d6dc44b-LICENSE
- 34440ff12dbdee0b-LICENSE
- 38d7390db6751b95-LICENSE
- 394f72aa9820b35e-LICENSE
- 3a1efc907aa90e6e-LICENSE.txt
- 3f471b7b9a34654b-LICENSE
- 3f59a46ca08f425d-LICENSE
- 41a82292d67b1815-LICENSE
- 43e0660fee92e3d9-LICENSE
- 4418818ca0528087-LICENSE
- 44bd708d348a7f79-LICENSE.txt
- 45a5f164a90b025e-LICENSE
- 4679f7f6ca539098-LICENSE
- 46bcf873674918a0-LICENSE
- 4cb2f76b15650e2b-LICENSE.txt
- 4ce67a1d3f22f06e-LICENSE
- 4d4c272c2aaf7d4c-LICENSE.txt
- 4f73bb9c13a8cf6a-LICENSE
- 50d2c50ab17033d4-LICENSE
- 568ef02dec145f8f-LICENSE.APACHE
- 5d0844276d7620c3-LICENSE
- 5d3ee7cad434b050-LICENSE
- 63c9efa00504c8e7-LICENSE.BSD
- 658c67bb72402f54-LICENSE
- 65feb792d908bb47-LICENSE
- 6ab6f3ebe36250fc-LICENSE
- 6f3ff74d1e961003-LICENSE
- 70c92009f569c7ff-LICENSE
- 71e8135b761ff506-LICENSE
- 720a043a5f63b8e2-LICENSE
- 732e9d1d0dc3a9f3-LICENSE.rst
- 76fa1ec680b6563a-LICENSE
- 778654dd362ccfc1-LICENSE
- 7bad43a1c663d2d3-LICENSE
- 7e5ab77aaefbcbfe-LICENSE
- 81f9de42fb4cff6d-LICENSE.rst
- 83a0b2cad3631647-LICENSE
- 83d9a4cd337039d3-LICENSE
- 878c0ed7cc080bee-LICENSE.txt
- 8e3c8657c4d54274-LICENSE
- 923573b2290edd3f-LICENSE.txt
- 932fff1dd3afca18-LICENSE.rst
- 93b14a999e446b81-LICENSE
- 93ef29e6e98ebe1c-LICENSE
- 95a8821c42dd5a93-LICENSE
- 9611af4ef03999e9-LICENSE.txt
- 9690869ec82dc7ff-LICENSE
- 98445537094b5eca-LICENSE.txt
- 9bcc07396f3695fd-LICENSE.txt
- 9d236d10d50376fa-LICENSE
- a3af08ceb14d4e70-LICENSE.rst
- a42e3616102ec1a4-LICENSE
- a68145b6a6945de2-LICENSE
- ac000064f187d287-LICENSE
- b14490d244e39dd6-LICENSE.txt
- b152e206fedb11c6-LICENSE
- b5cccfdd56d29de3-LICENSE
- bb4c4e06309173d1-LICENSE.txt
- c18a22744d03cae4-LICENSE.rst
- c59a7e2bf6163ddd-LICENSE
- c643fc658eb3d4f4-LICENSE
- ce8e5d64c3015701-LICENSE
- d382d51b74d1dde7-LICENSE
- d414936ad243b5dd-LICENSE.txt
- d431c50ef2b89f09-LICENSE
- d86156e7d7554a5f-LICENSE
- e04596b38de5343a-LICENSE
- e1fd63729d99cd47-LICENSE
- e3aa5bda22dc7a7a-LICENSE
- e3f5bf83e6fd8b70-LICENSE
- e7f7eb90618838ff-LICENSE
- e845cee760dabf6e-LICENSE
- ea19c7c3e4500582-LICENSE
- f063c5a9ee927ae6-LICENSE
- f589495d9a662be4-LICENSE.txt
- f7f25c636a548517-LICENSE.rst
- f861d3e2e007d200-LICENSE.txt
- fa17b838b2594837-LICENSE.txt
- 14a65df99717c958-LICENSE
- 2231b6c46c068b83-LICENSE
- 215ebb8580f197a8-LICENSE
- 3677f050c9618f5d-LICENSE.txt
- b645068efededc15-LICENSE.md
- MODEL-LICENSE.md
- README.md
- UPSTREAM-LICENSE.txt
# Real example inspection
Inspected on Windows x64 on 2026-10-02. The original archive was only read.
| Property | Observation |
|---|---|
| Original | `E:\000zips\Model Checking with Fly-Automata--ed514f974d3494ee.7z` |
| Bytes | 215750 |
| SHA-256 | `9be2921444e388c26808ea6b223f9aec28aee965d38f454fd17ec3817af12e0a` |
| Extraction | `.work/examples/<archive-sha256>/` |
| Listing | 33 entries including 4 directories; 350955 expanded bytes |
| Executable source entry | `vector_db/search.py`; not executed during inspection |
The pre-import receipt is `.work/original_archive_before.json`; the independently audited extraction receipt is `.work/example_import_receipt.json`. The root acceptance report records the final original-file comparison. Neither local example contents nor production credentials are distributed with this project.
```text
Model Checking with Fly-Automata/
archive_manifest.json
Model Checking with Fly-Automata.pdf
Model Checking with Fly-Automata.md
Model Checking with Fly-Automata/
SKILL.md
chapters/ch01.md ... ch15.md
cheatsheet.md, glossary.md, patterns.md
coverage.json, source.json, structure_review.json
vector_db/
vectors.sqlite3, manifest.json, search.py, README.md
```
There is no external `chunks/` directory, and none is required.
The archive manifest is `archive_version: 3`, declares slug `book-e59e1c46cde5393f12bff022`, title, library and domain, four role paths, `chunk_count: 3`, `embedding_model: BAAI/bge-m3`, a Markdown SHA-256, and a `files` mapping of path to SHA-256 and `size_bytes`. Paths include the outer book folder even though the manifest is inside that folder. The v3 adapter removes this prefix only when it exactly matches the selected package root. All 28 declared file entries match their hashes and sizes. These hashes establish consistency, not publisher authentication.
The vector manifest and SQLite metadata agree on these 12 fields:
```json
{
"book_id": "book-e59e1c46cde5393f12bff022",
"title": "Model Checking with Fly-Automata",
"model": "BAAI/bge-m3",
"dimensions": 1024,
"markdown_sha256": "9ae736de52eaabc6ede7413f77c72e07c62def3b5ec8ea8ca2af8a3d26738567",
"characters": 27885,
"chunk_count": 3,
"tokenizer": "BAAI/bge-m3@5617a9f61b028005a4858fdac845db406aefb181",
"max_tokens": 4500,
"version": "bge-m3-lossless-v1",
"embedding_format": "little-endian float32; L2 normalized",
"state": "ready"
}
```
Observed schema, with no views or virtual vector tables:
```sql
CREATE TABLE metadata(key TEXT PRIMARY KEY,value TEXT NOT NULL);
CREATE TABLE chunks(
ordinal INTEGER PRIMARY KEY,
char_start INTEGER,
char_end INTEGER,
text TEXT NOT NULL,
tokens INTEGER,
text_sha256 TEXT NOT NULL,
embedding BLOB
);
CREATE INDEX idx_chunks_text_hash ON chunks(text_sha256);
```
`metadata.value` contains JSON scalars. The database is 65536 bytes. `PRAGMA integrity_check` returned `ok` during initial investigation. Records have 4096-byte vectors decoded as `<1024f`; values are finite and unit normalized. All record text hashes pass. Concatenating record text as UTF-8 exactly recreates the Markdown SHA-256, including original CRLF line endings.
| Ordinal | Character start | Character end | Text characters |
|---|---:|---:|---:|
| 1 | 0 | 13283 | 13283 |
| 2 | 13283 | 26536 | 13253 |
| 3 | 26536 | 27885 | 1349 |
These are exact Markdown character offsets, not PDF page locators. Skill `source.json` contains historical absolute `G:` paths and three different source-unit boundaries (`0–9958`, `9958–19934`, `19934–27885`). Skill units therefore must not be equated with vector ordinals. Historical paths are informational; source resolution uses the registered current original file. No authoritative PDF file-page or printed-page mapping is stored in SQLite.
Static review of `search.py` found imports `argparse,json,math,sqlite3,struct,heapq,pathlib`. Its top level parses command arguments, reads a query-vector JSON file, checks 1024 dimensions, normalizes the query, opens the supplied SQLite path with `mode=ro`, scores existing vectors by dot product and emits JSON. It performs no network request, model download, reranking, document encoding, extension loading or database write in this reviewed version. Importing it would execute argument parsing and file reads, so Book Agent never imports or automatically executes it. The source SHA-256 is `7b5e84e5ffb5ff5144848db260510d8c3f923066fecc8a5fc4c017334f3be3d8`.
The original producer source `G:/books/_work/unified/src/vector_core.py` was also statically read, without importing it or reading credential configuration. Its `embed_batch` uses the exact `BAAI/bge-m3` model at `https://api.siliconflow.cn/v1/embeddings`, raw text input, provider base64 little-endian float32 output or numeric arrays, and explicit L2 normalization. This audited format contract supplies the compatible query runtime. The tokenizer revision describes chunk token accounting; the hosted encoder revision is not pinned. Endpoint and provider details are **not** explicit in the package manifest itself.
Required adapters are implemented: archive v3 role/path and file-checksum adapter; `pipeline-bge-m3-lossless-v1` read-only SQLite adapter; audited inherited SiliconFlow query encoder; independent exact-vector scorer; lexical retrieval and source mapping in Core.
Acceptance performed for this module: all three original records read and validated; an existing first-record vector used as a supplied test representation; results compared with the reviewed script in a separate temporary working directory using `python -B -X utf8`. Scores were approximately `0.9999999905`, `0.8665109196`, `0.6049757345` for records 1, 2, 3. The input file tree and hashes were unchanged. This tests stored-vector mechanics and score parity; it is not a natural-language relevance evaluation. The script requires UTF-8 stdout on Windows for some source characters.
The production importer was separately run against the original `.7z` into `.work/adapter-managed/<sha256>/`. All 29 regular files (including the archive manifest) were extracted with preflight and bounded actual writes, validated, and reused on a repeat import after checking the external receipt. The original archive size, modification time and SHA-256 were unchanged. A short temporary directory name avoids a Windows path-limit failure found during this acceptance; extremely deep configured data roots should use a shorter `--data-dir`.
Still unverified: live SiliconFlow query encoding, hosted model revision stability, live reranking, visual model interpretation, and real Harness use unless separately documented in the acceptance report. No live API calls were made by these module tests. The source extraction contains imperfect text conversion; source-page images remain the authority when text is insufficient.
原文 SHA-256:870b82eb74a584c096addfe51dd9c40180136b3737fae5804b808aa9e11c832c