|
2 | 2 |
|
3 | 3 | ## Current Status |
4 | 4 |
|
5 | | -Phase 1 is implemented for optional database dependencies. Phase 2 is implemented for the Python 3.14 / `5.0.0` release baseline. Phase 3 is implemented for the first importable Python API. |
| 5 | +Phase 1 is implemented for optional database dependencies. Phase 2 is implemented for the Python 3.14 / `5.0.0` release baseline. Phase 3 is implemented for the first importable Python API. Phase 4 is implemented for template wordlists and generation controls. |
6 | 6 |
|
7 | | -This is a useful foundation for a future MCP server or REST API because import-time side effects are lower, base installs no longer require database drivers, and the first supported Python API surface is now available. The next work expands wordlist templates and generation controls. |
| 7 | +This is a useful foundation for a future MCP server or REST API because import-time side effects are lower, base installs no longer require database drivers, and the first supported Python API surface is now available. The next work adds the native wordlist implementation and benchmark gates. |
8 | 8 |
|
9 | 9 | ## Completed |
10 | 10 |
|
@@ -47,6 +47,13 @@ This is a useful foundation for a future MCP server or REST API because import-t |
47 | 47 | - Added isolation coverage proving two configs do not leak state in one process. |
48 | 48 | - Added packaged install smoke coverage for the public API imports. |
49 | 49 | - Added optional DB and importable API coverage to `testing.py`. |
| 50 | +- Added shared template wordlist expansion for CLI and Python API callers. |
| 51 | +- Added named placeholders for subjects, CRUD/auth/admin ops, envs, separators, dates, DB/archive tokens, API versions, categories, and `%EXT%`. |
| 52 | +- Added curated template wordlists under `db/templates/`. |
| 53 | +- Added `--wordlist-status`. |
| 54 | +- Added `--wordlist-max-size` generation limits. |
| 55 | +- Added template wordlist regression coverage to `testing.py`. |
| 56 | +- Added the wordlist backend interface and `auto|python|native` selection. |
50 | 57 |
|
51 | 58 | ## Verification Run |
52 | 59 |
|
@@ -74,22 +81,16 @@ This is a useful foundation for a future MCP server or REST API because import-t |
74 | 81 | - `docker build -t dirsearch:v5-importable-api .` |
75 | 82 | - `docker run --rm --entrypoint python3 dirsearch:v5-importable-api testing.py` |
76 | 83 | - `docker run --rm --entrypoint sh dirsearch:v5-importable-api -c "python3 -m pip install . && python3 tests/check_packaged_install.py"` |
| 84 | +- `/home/mauro/dirsearch/.venv/bin/python -m unittest tests.core.test_dictionary_templates tests.core.test_importable_api` |
| 85 | +- `/home/mauro/dirsearch/.venv/bin/python dirsearch.py --wordlist-status -w db/templates/crud.txt -e php` |
| 86 | +- `/home/mauro/dirsearch/.venv/bin/python dirsearch.py --wordlist-status -w db/templates/crud.txt -e php --wordlist-max-size 1` |
77 | 87 |
|
78 | 88 | ## Next Phase |
79 | 89 |
|
80 | | -### Phase 4: Template Wordlists |
81 | | - |
82 | | -- Add named placeholder expansion for `%SUBJECT%`, `%CRUD_OP%`, `%AUTH_OP%`, `%ADMIN_OP%`, `%ENV%`, `%SEP%`, date tokens, DB/archive tokens, `%API_VERSION%`, and `%CATEGORY:name%`. |
83 | | -- Add curated template files under `db/templates/`. |
84 | | -- Add `--wordlist-status`. |
85 | | -- Add generation limits to prevent accidental huge expansions. |
86 | | - |
87 | | -### Later Phases |
88 | | - |
89 | 90 | ### Phase 5: Native Wordlist Backend |
90 | 91 |
|
91 | | -- Add backend interface with Python backend first. |
92 | | -- Add optional native backend with `auto|python|native` selection. |
| 92 | +- Add backend interface with Python backend first. (done) |
| 93 | +- Add optional native backend with `auto|python|native` selection. (selection done, native implementation pending) |
93 | 94 | - Keep native output byte-for-byte compatible with Python output for ordering and deduplication. |
94 | 95 | - Add opt-in large dictionary benchmark for generation time, iteration throughput, memory, and startup cost. |
95 | 96 |
|
|
0 commit comments