simplicio-mapper 0.7.3__tar.gz → 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/.gitignore +4 -0
  2. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/CHANGELOG.md +98 -0
  3. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/PKG-INFO +4 -1
  4. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/README.md +4 -2
  5. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/README.pt-BR.md +1 -1
  6. simplicio_mapper-0.9.0/SIMPLICIO_INTEGRATION.md +693 -0
  7. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/pyproject.toml +52 -1
  8. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/__init__.py +1 -1
  9. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/_native.py +3 -1
  10. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/cache.py +2 -2
  11. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/cli.py +881 -18
  12. simplicio_mapper-0.9.0/simplicio_mapper/context_cache.py +80 -0
  13. simplicio_mapper-0.9.0/simplicio_mapper/context_pack.py +249 -0
  14. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/mapper.py +190 -2
  15. simplicio_mapper-0.9.0/simplicio_mapper/mechanical_edit.py +169 -0
  16. simplicio_mapper-0.7.3/SIMPLICIO_INTEGRATION.md +0 -248
  17. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/.catalog/README.md +0 -0
  18. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/LICENSE +0 -0
  19. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/PYPI.md +0 -0
  20. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.ar-SA.md +0 -0
  21. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.en.md +0 -0
  22. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.es-ES.md +0 -0
  23. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.fr-FR.md +0 -0
  24. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.he-IL.md +0 -0
  25. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.hi-IN.md +0 -0
  26. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.id-ID.md +0 -0
  27. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.it-IT.md +0 -0
  28. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.ja-JP.md +0 -0
  29. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.ko-KR.md +0 -0
  30. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.ms-MY.md +0 -0
  31. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.pl-PL.md +0 -0
  32. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.pt-BR.md +0 -0
  33. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.ru-RU.md +0 -0
  34. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/READMEs/README.zh-CN.md +0 -0
  35. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/docs-site/README.md +0 -0
  36. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/rust/README.md +0 -0
  37. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/rust/pyproject.toml +0 -0
  38. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/simplicio_mapper/models.py +0 -0
  39. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/video/README.md +0 -0
  40. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/vscode-extension/LICENSE +0 -0
  41. {simplicio_mapper-0.7.3 → simplicio_mapper-0.9.0}/vscode-extension/README.md +0 -0
@@ -106,6 +106,8 @@ _BOOTSTRAP.md
106
106
  !.specs/architecture/ADR-*.md
107
107
  docs/**
108
108
  !docs/YOOL_TUPLE_HAMT.md
109
+ !docs/apply-edits.md
110
+ !docs/apply-edits.example.json
109
111
  scripts/**
110
112
  !scripts/build_hamt.py
111
113
  !scripts/coverage.js
@@ -119,6 +121,8 @@ tests/**
119
121
  !tests/e2e/*.spec.ts
120
122
  !tests/python/
121
123
  !tests/python/*.py
124
+ !tests/fixtures/
125
+ !tests/fixtures/**
122
126
  test-results/**
123
127
  coverage/**
124
128
  bootstrap.ps1
@@ -1,5 +1,89 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## [0.9.0] - 2026-06-29
6
+
7
+ ### Added
8
+ - Two-tier async mapper (issue #120):
9
+ - `mapper.build_macro_map(cwd)` + `simplicio-mapper macro <path>` producing the
10
+ sub-second `simplicio.macro-map/v1` skeleton from filenames + manifests only
11
+ (no per-file content reads), with `confidence: "shallow"` (#121).
12
+ - `simplicio-mapper scan <path>` returning a `simplicio.map-job/v1` envelope:
13
+ macro inline + deep-pass pointers, deep in background by default,
14
+ synchronous under `CI=true`/`--sync`, `--await` to block until terminal,
15
+ persisted to `.simplicio/map-job.json` (#122).
16
+ - `simplicio-mapper status <path>` deriving `deep_running|complete|failed|unknown`
17
+ from `index.lock` + `index-state.json` freshness + `map-job.json`, with a
18
+ shared `--await`/`--timeout` helper (#123).
19
+ - `ADR-003-two-tier-async-mapper.md` and a "Two-tier async mapper" section in
20
+ `SIMPLICIO_INTEGRATION.md`.
21
+ - `simplicio-mapper flowchart <path>` command and the
22
+ `simplicio.service-flowchart/v1` contract. Builds a two-faced service map
23
+ and renders it as Mermaid in `.simplicio/docs/flowchart.md`:
24
+ - Frontend face — Angular screens linked to the services/endpoints in
25
+ their module scope, clickable buttons (`(click)` handlers) tied to the
26
+ endpoints their handler bodies call, and the *observable* rules encoded
27
+ per screen (route guards, persona gating, dynamic params, form
28
+ validators). Client calls that match no screen scope are listed as
29
+ unlinked services.
30
+ - Backend face — per server route (Azure Functions C# and FastAPI
31
+ Python): layer, auth level, request/response payload types, external
32
+ function-call count, database-access detection, and an ordered process
33
+ flow rendered as a per-endpoint Mermaid diagram.
34
+ - `flowchart.md` is now generated as part of `simplicio-mapper docs`,
35
+ `index --docs` and copied by `export-docs`.
36
+ - "Service Flowchart Contract" section in `SIMPLICIO_INTEGRATION.md`.
37
+
38
+ ## [0.8.0] - 2026-06-02
39
+
40
+ ### Added
41
+ - `simplicio_mapper.mechanical_edit` producer for the canonical
42
+ `simplicio.mechanical-edit/v1` contract (closes #110): `snapshot_hash`,
43
+ `range_hash`, `is_binary`, `extract_file_entry`, and `build_context`,
44
+ with binary/missing-file refusal and large-file compact mode.
45
+ - `simplicio_mapper.context_pack` producer for `simplicio.context-pack/v1`
46
+ and `simplicio_mapper.context_cache.ContextCache` for
47
+ `simplicio.context-cache/v1` (closes #115): callers/imports from the
48
+ call graph, related tests from the project map, per-range hashes, and
49
+ `needs_broader_context` with concrete reasons when upstream artifacts
50
+ or stable anchors are missing.
51
+ - "Native Runtime Contract" (closes #95), "Mechanical Edit Contract"
52
+ (closes #110), and "Context Packs and Hash-Based Cache" (closes #115)
53
+ sections in `SIMPLICIO_INTEGRATION.md`.
54
+ - Python `ruff` configuration and dev extra plus a `python-lint.yml`
55
+ workflow (closes #101).
56
+ - `scripts/check-version-sync.js` plus a `version-sync` job in
57
+ `scaffold-self-check.yml` (closes #102).
58
+ - `python-ci.yml` matrix workflow running pytest across Python 3.10–3.12
59
+ plus a `cargo test` + `maturin develop` parity check for the Rust crate
60
+ (closes #97); `publish-pypi.yml` now gates on `pytest` passing before
61
+ building distributions.
62
+ - Node ↔ Python mapper parity test (`tests/python/test_parity.py`) with
63
+ a deterministic fixture under `tests/fixtures/parity-host/`
64
+ (closes #98).
65
+ - Coverage for previously untested CLI paths — `--docs-only`,
66
+ `--json-only`, `--changed-only`, `--stack` / `--product-name` hint
67
+ injection, `index` failure boundary, and the `_watch` loop
68
+ (closes #103).
69
+
70
+ ### Changed
71
+ - Endpoint path normalization in `simplicio-mapper endpoints` is now
72
+ project-agnostic (closes #104): the EVT-specific resource regexes are
73
+ gone; only placeholders, UUIDs, and numeric segments collapse to
74
+ `{id}`.
75
+ - Docusaurus site renamed from `llm-project-mapper` to `simplicio-mapper`
76
+ (`baseUrl`, `projectName`, navbar / footer URLs) and a `0.7.3` docs
77
+ snapshot was cut so the version dropdown matches the live release
78
+ (closes #100).
79
+ - `AGENTS.md`, `CLAUDE.md`, `.github/copilot-instructions.md`, and
80
+ `.specs/product/{VISION,DOMAIN,PERSONAS}.md` no longer carry
81
+ `<STACK>` / `<APP_NAME>` / `<PRODUCT_NAME>` placeholders; they now
82
+ describe the real Python + Node + optional Rust stack and the actual
83
+ command surface (closes #99).
84
+ - Dropped the `publish-npm.yml` workflow; the project ships PyPI-only
85
+ going forward.
86
+
3
87
  ## [0.7.3] - 2026-06-01
4
88
 
5
89
  ### Changed
@@ -20,6 +104,20 @@ Format follows [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) an
20
104
 
21
105
  ## [Unreleased]
22
106
 
107
+ ### Changed
108
+ - `simplicio-mapper endpoints` endpoint path normalization is now project-agnostic
109
+ (closes #104). The previously hardcoded EVT-specific collapses for
110
+ `/api/v1/(areas|assessments|disciplines|...)/<slug>`,
111
+ `/api/v1/governance/(skill-versions|skills)/<slug>`,
112
+ `/api/v1/knowledge-assessment/runs/<slug>`,
113
+ `/api/v1/llm-gateway/(runs|skills|traces)/<slug>` and
114
+ `/api/v1/(clients/)?projects/<slug>` have been removed. The normalizer still
115
+ collapses path/query placeholders (`${foo}` / `{foo}`), UUIDs, and numeric ID
116
+ segments — these are stable, generic patterns. Downstream projects that
117
+ relied on slug-after-collection collapsing should switch their fixtures to
118
+ numeric or placeholder IDs (the `simplicio.endpoint-inventory/v1` schema is
119
+ unchanged).
120
+
23
121
  ## [0.7.1] - 2026-06-01
24
122
 
25
123
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simplicio-mapper
3
- Version: 0.7.3
3
+ Version: 0.9.0
4
4
  Summary: Python-first project mapper that emits .simplicio/project-map.json and precedent-index.json for the Simplicio ecosystem.
5
5
  Project-URL: Homepage, https://github.com/wesleysimplicio/simplicio-mapper
6
6
  Project-URL: Repository, https://github.com/wesleysimplicio/simplicio-mapper
@@ -43,6 +43,9 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
43
43
  Requires-Python: >=3.10
44
44
  Requires-Dist: diskcache<6,>=5.6.3
45
45
  Requires-Dist: orjson<4,>=3.11.9
46
+ Provides-Extra: dev
47
+ Requires-Dist: pytest<9,>=8; extra == 'dev'
48
+ Requires-Dist: ruff<0.17,>=0.15; extra == 'dev'
46
49
  Description-Content-Type: text/markdown
47
50
 
48
51
  # simplicio-mapper
@@ -3,7 +3,7 @@
3
3
  <p align="center">
4
4
  <strong>Map any repository into AI-readable context: project map, precedent index, architecture inventory, symbol index, call graph, and docs.</strong><br />
5
5
  <em>Commands stay in English so they can be copied exactly.</em><br />
6
- <a href="https://wesleysimplicio.github.io/llm-project-mapper/">Live docs: wesleysimplicio.github.io/llm-project-mapper</a>
6
+ <a href="https://wesleysimplicio.github.io/simplicio-mapper/">Live docs: wesleysimplicio.github.io/simplicio-mapper</a>
7
7
  </p>
8
8
 
9
9
  <p align="center">
@@ -100,7 +100,9 @@ delivery loop"]
100
100
  The section below restores the project-specific README material that existed before the globalization pass. Keep this substance when refreshing the top-level narrative: add polish, do not erase operational memory.
101
101
 
102
102
  > 🇺🇸 English. Leia em português: [README.pt-BR.md](README.pt-BR.md).
103
- > Live docs site: [wesleysimplicio.github.io/llm-project-mapper](https://wesleysimplicio.github.io/llm-project-mapper/)
103
+ > Live docs site: [wesleysimplicio.github.io/simplicio-mapper](https://wesleysimplicio.github.io/simplicio-mapper/)
104
+ >
105
+ > The npm package name `@wesleysimplicio/llm-project-mapper` is intentionally retained for historical npm consumers; new releases ship as `simplicio-mapper` on PyPI only (see #87).
104
106
 
105
107
  AI-friendly, stack-neutral repository scaffold. Drop it into **any** project — new or existing — and any agent CLI (Claude Code, Codex, Cursor, GitHub Copilot, Aider with Deepseek/Kimi/MiniMax/GLM, Hermes, OpenClaw) gets the context it needs to ship work the same day.
106
108
 
@@ -3,7 +3,7 @@
3
3
  <p align="center">
4
4
  <strong>Mapeie qualquer repositório em contexto legível por IA: project map, precedent index, inventário arquitetural, símbolos, call graph e docs.</strong><br />
5
5
  <em>Os comandos ficam em inglês para poder copiar exatamente.</em><br />
6
- <a href="https://wesleysimplicio.github.io/llm-project-mapper/">Docs ao vivo: wesleysimplicio.github.io/llm-project-mapper</a>
6
+ <a href="https://wesleysimplicio.github.io/simplicio-mapper/">Docs ao vivo: wesleysimplicio.github.io/simplicio-mapper</a>
7
7
  </p>
8
8
 
9
9
  <p align="center">