hyperresearch 0.8.4__tar.gz → 0.8.6__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 (125) hide show
  1. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/CHANGELOG.md +23 -0
  2. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/PKG-INFO +1 -1
  3. hyperresearch-0.8.6/example-reports/rl-exploration-trajectory-planning.md +465 -0
  4. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/pyproject.toml +1 -1
  5. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/__init__.py +1 -1
  6. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/__init__.py +4 -0
  7. hyperresearch-0.8.6/src/hyperresearch/cli/archive.py +182 -0
  8. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/lint.py +27 -6
  9. hyperresearch-0.8.6/src/hyperresearch/cli/vault_tag.py +136 -0
  10. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/agent_docs.py +1 -1
  11. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/hooks.py +46 -32
  12. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/sync.py +63 -8
  13. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-1-decompose.md +6 -3
  14. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-10-triple-draft.md +12 -9
  15. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-11-synthesize.md +23 -10
  16. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-12-critics.md +3 -3
  17. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-14-patcher.md +5 -5
  18. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-15-polish.md +5 -5
  19. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-16-readability-audit.md +5 -5
  20. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch.md +7 -5
  21. hyperresearch-0.8.6/tests/test_cli/test_archive.py +161 -0
  22. hyperresearch-0.8.6/tests/test_cli/test_vault_tag.py +119 -0
  23. hyperresearch-0.8.6/tests/test_core/test_sync.py +260 -0
  24. hyperresearch-0.8.4/tests/test_core/test_sync.py +0 -125
  25. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/.github/workflows/ci.yml +0 -0
  26. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/.github/workflows/publish.yml +0 -0
  27. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/.gitignore +0 -0
  28. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/CONTRIBUTING.md +0 -0
  29. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/LICENSE +0 -0
  30. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/README.md +0 -0
  31. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/_banner_src.png +0 -0
  32. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/_generate_banner.py +0 -0
  33. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/_generate_benchmark.py +0 -0
  34. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/banner.png +0 -0
  35. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/banner_social.png +0 -0
  36. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/assets/benchmark.png +0 -0
  37. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/__main__.py +0 -0
  38. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/_output.py +0 -0
  39. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/assets.py +0 -0
  40. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/batch.py +0 -0
  41. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/config_cmd.py +0 -0
  42. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/dedup.py +0 -0
  43. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/export.py +0 -0
  44. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/fetch.py +0 -0
  45. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/fetch_batch.py +0 -0
  46. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/git_cmd.py +0 -0
  47. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/graph.py +0 -0
  48. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/import_cmd.py +0 -0
  49. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/index.py +0 -0
  50. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/install.py +0 -0
  51. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/link.py +0 -0
  52. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/main.py +0 -0
  53. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/mcp_cmd.py +0 -0
  54. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/note.py +0 -0
  55. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/repair.py +0 -0
  56. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/research.py +0 -0
  57. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/search.py +0 -0
  58. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/serve.py +0 -0
  59. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/setup.py +0 -0
  60. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/sources.py +0 -0
  61. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/tag.py +0 -0
  62. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/template.py +0 -0
  63. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/topic.py +0 -0
  64. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/cli/watch.py +0 -0
  65. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/__init__.py +0 -0
  66. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/config.py +0 -0
  67. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/db.py +0 -0
  68. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/enrich.py +0 -0
  69. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/fetcher.py +0 -0
  70. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/frontmatter.py +0 -0
  71. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/linker.py +0 -0
  72. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/migrations.py +0 -0
  73. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/note.py +0 -0
  74. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/patterns.py +0 -0
  75. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/similarity.py +0 -0
  76. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/templates.py +0 -0
  77. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/core/vault.py +0 -0
  78. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/export/__init__.py +0 -0
  79. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/graph/__init__.py +0 -0
  80. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/indexgen/__init__.py +0 -0
  81. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/indexgen/generator.py +0 -0
  82. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/mcp/__init__.py +0 -0
  83. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/mcp/server.py +0 -0
  84. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/models/__init__.py +0 -0
  85. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/models/graph.py +0 -0
  86. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/models/note.py +0 -0
  87. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/models/output.py +0 -0
  88. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/models/search.py +0 -0
  89. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/py.typed +0 -0
  90. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/search/__init__.py +0 -0
  91. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/search/filters.py +0 -0
  92. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/search/fts.py +0 -0
  93. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/serve/__init__.py +0 -0
  94. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/serve/renderer.py +0 -0
  95. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/serve/server.py +0 -0
  96. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/__init__.py +0 -0
  97. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-13-gap-fetch.md +0 -0
  98. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-2-width-sweep.md +0 -0
  99. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-3-contradiction-graph.md +0 -0
  100. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-4-loci-analysis.md +0 -0
  101. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-5-depth-investigation.md +0 -0
  102. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-6-cross-locus-reconcile.md +0 -0
  103. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-7-source-tensions.md +0 -0
  104. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-8-corpus-critic.md +0 -0
  105. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/skills/hyperresearch-9-evidence-digest.md +0 -0
  106. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/web/__init__.py +0 -0
  107. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/web/base.py +0 -0
  108. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/web/builtin.py +0 -0
  109. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/src/hyperresearch/web/crawl4ai_provider.py +0 -0
  110. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/__init__.py +0 -0
  111. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/conftest.py +0 -0
  112. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_cli/__init__.py +0 -0
  113. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_cli/test_commands.py +0 -0
  114. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_cli/test_lint.py +0 -0
  115. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_cli/test_note_ops.py +0 -0
  116. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/__init__.py +0 -0
  117. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/test_frontmatter.py +0 -0
  118. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/test_hooks.py +0 -0
  119. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/test_note.py +0 -0
  120. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/test_patterns.py +0 -0
  121. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_core/test_vault.py +0 -0
  122. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_graph/__init__.py +0 -0
  123. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_graph/test_links.py +0 -0
  124. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_search/__init__.py +0 -0
  125. {hyperresearch-0.8.4 → hyperresearch-0.8.6}/tests/test_search/test_fts.py +0 -0
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.6] - 2026-05-14
4
+
5
+ ### Run-to-run safety: no more silent overwrites between /hyperresearch sessions
6
+
7
+ Three changes that close the remaining "I ran another hyperresearch and lost stuff" foot-guns, so you can fire off runs back-to-back without thinking about it.
8
+
9
+ - **sync no longer ingests frontmatterless scratch files (closes #25).** The depth-investigator and other agents leave plain-markdown body files under `research/temp/` after calling `note new --body-file`. Those scratch files derived the same id from their stem as the canonical notes created from them, and the UPSERT race smashed the canonical row's `path` field — silently breaking subsequent `note update --add-tag` calls. `compute_sync_plan` now peeks the first 16 bytes and skips anything that doesn't open with a YAML frontmatter delimiter. Real notes (including `graph stub` sidelined notes under `research/temp/`) always have frontmatter, so the fix is content-based and doesn't break that workflow. Belt-and-suspenders: `execute_sync` now refuses to UPSERT a note whose id is already owned by a different path, surfacing collisions to `result.errors` instead of overwriting.
10
+ - **`hyperresearch archive-run` preserves prior-run artifacts.** A second `/hyperresearch` in the same vault used to silently overwrite `research/scaffold.md`, `prompt-decomposition.json`, `loci.json`, `comparisons.md`, all 4 `critic-findings-*.json`, `patch-log.json`, `polish-log.json`, `readability-*.json`, `corpus-critic-gaps.json`, plus the entire `research/temp/` scratch tree. The new command moves all of that into `research/runs/archive-<prev-tag>-<UTC-timestamp>/` before the next run starts. Cheap no-op on a fresh vault. Wired into the entry-skill bootstrap as step 0.5, so users don't have to remember to call it.
11
+ - **`hyperresearch vault-tag <slug>` mints a collision-safe vault_tag.** The orchestrator's topical slug (e.g. `efield-dft-sac`) is no longer used as the final vault_tag — `hyperresearch vault-tag` appends a random 6-hex-char suffix verified unique against every prior run's `query-*.md` and `final_report_*.md` in the live vault. Re-running the same query produces a fresh tag, so prior final reports can never be overwritten. Two queries that happen to slug-collide on shared lexical material also get distinct tags. Legacy without-suffix tags from older runs can't collide with the new format by construction.
12
+
13
+ **Limitation worth knowing:** these three changes solve sequential runs comprehensively. Two `/hyperresearch` invocations that *overlap in time* still race on the new files they both write to flat paths (scaffold.md, loci.json, etc.). True parallel-run safety needs per-run files to live under `research/runs/<vault_tag>/`, which is a deeper refactor — flagged but deferred.
14
+
15
+ ## [0.8.5] - 2026-04-29
16
+
17
+ ### Reports self-title; wikilinks become the default citation system
18
+
19
+ Two related changes that fix the "I lost my last report" foot-gun and make the vault genuinely navigable:
20
+
21
+ - **Final reports now write to `research/notes/final_report_<vault_tag>.md`.** Every run self-titles by the canonical query slug (e.g., `final_report_rl-exploration.md`). No more overwrites — running `/hyperresearch` on a new topic in the same project leaves the previous report untouched. Persistent personal research wiki, no surprise data loss.
22
+ - **Wiki-link citations are the new default citation style.** Every citation in the body is `[[<source-note-id>]]` pointing at the source note in the vault. No separate `## Sources` section needed — each wiki-link self-resolves to the source note's frontmatter (title + URL). For users in their own vault this means every citation is one click away from the raw source. The `inline` (`[N]` + Sources section) and `none` styles are still selectable; the benchmark wrapper continues to set `"inline"` via `wrapper_contract.json` so RACE evaluators can read numbered references.
23
+ - **Polish auditor updated**: only strips wiki-links pointing at workspace artifacts (`[[interim-*]]`, `[[scaffold]]`, `[[comparisons]]`). Source-note wiki-links are preserved as the citation system when style is `"wikilink"`.
24
+ - **Lint rules updated**: `wrapper-report`, `patch-surgery`, and `instruction-coverage` rules glob for `final_report*.md` and validate the most recent. Pre-0.8.5 bare `final_report.md` still works.
25
+
3
26
  ## [0.8.4] - 2026-04-29
4
27
 
5
28
  ### Polish + release plumbing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperresearch
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Claude Code harness for disciplined, adversarially-audited deep research with full provenance.
5
5
  Project-URL: Homepage, https://github.com/jordan-gibbs/hyperresearch
6
6
  Project-URL: Repository, https://github.com/jordan-gibbs/hyperresearch