chore: enforce public release evidence boundaries

This commit is contained in:
732642856
2026-07-08 18:34:13 +08:00
parent 9e46a4814a
commit 07fb5a5f7b
60 changed files with 1475 additions and 573 deletions
@@ -14,7 +14,7 @@
## 任务 3:录入首批 JHora 真实截图数据
- **执行路径**:人工脱离自动化系统操作。
- **动作**:在一台干净且无 GPL 污染的独立机器上,启动闭源 JHora。按照 `dasha_shadbala_oracle_cases.json` 中的 `template_steve_jobs_dasha_lahiri``template_redacted_place_shadbala_raman` 参数排盘。将得到的截图作为 Artifact 存入系统,并将读数写入 JSON 靶标。
- **动作**:在一台干净且无 GPL 污染的独立机器上,启动闭源 JHora。按照 `dasha_shadbala_oracle_cases.json` 中的 `template_steve_jobs_dasha_lahiri``template_synthetic_north_china_shadbala_raman` 参数排盘。将得到的截图作为 Artifact 存入系统,并将读数写入 JSON 靶标。
- **验收命令**
```bash
python3 scripts/oracle_collection_queue.py --oracle-file references/oracle/dasha_shadbala_oracle_cases.json --format json > /tmp/queue.json
@@ -15,14 +15,14 @@
"status": "template_only",
"source": "JHora/PyJHora/VedAstro/Manual screenshot",
"birth": {
"year": REDACTED_YEAR,
"month": 4,
"day": 17,
"hour": 14,
"year": 1955,
"month": 2,
"day": 24,
"hour": 19,
"minute": 45,
"second": 20,
"lat": 36.466667,
"lon": 114.2,
"lat": 37.7749,
"lon": -122.4194,
"tz": 8
},
"settings": {
@@ -62,7 +62,7 @@
"verification_note": "Verify Dasha boundaries."
},
{
"id": "template_redacted_place_shadbala_raman",
"id": "template_synthetic_north_china_shadbala_raman",
"status": "template_only",
"source": "VedAstro API",
"birth": {
@@ -72,8 +72,8 @@
"hour": 12,
"minute": 0,
"second": 0,
"lat": 36.466667,
"lon": 114.2,
"lat": 37.7749,
"lon": -122.4194,
"tz": 8
},
"settings": {
@@ -8,7 +8,7 @@
|---|---|---|---|---|---|---|
| `template_private_oracle_redacted` | `template_only` | `moon_sidereal_longitude_deg`, `vimshottari_start_date`, `shadbala_components` | JHora / PyJHora | 手工在 JHora 中排入此 REDACTED_YEAR 样本,提取其月亮黄经与 Shadbala 的详细六大分量,同时记录大运起点。 | 所有 null 字段都已被来自外部软件提取的确定数值替换,并附上带有抓取版本的说明。 | `blocked_by_external_tool_access` (若本地环境无法运行 JHora/PyJHora) |
| `template_steve_jobs_dasha_lahiri` | `template_only` | `vimshottari_start_date`, `shadbala_components` | JHora / PyJHora | 对比开源社区流传或本人 JHora 中输入 Steve Jobs (1955-02-24 19:15) 的大运界限和力量分量。 | 填补精准到日的起运日期与组件级力量靶心,确保节点匹配。 | 坊间流传的 PDF 可能在出生时间(如分钟数)上有微调差异 |
| `template_redacted_place_shadbala_raman` | `template_only` | `moon_sidereal_longitude_deg`, `shadbala_components` | VedAstro API / JHora | 发送 HTTP 请求或人工在 JHora 切换至 Raman Ayanamsa,记录月亮落座及力量值。 | 明确获得 Raman Ayanamsa 下力量值的改变,写入并确认为非本地生成。 | `blocked_by_api_limit` (若 VedAstro 高级功能超时) |
| `template_synthetic_north_china_shadbala_raman` | `template_only` | `moon_sidereal_longitude_deg`, `shadbala_components` | VedAstro API / JHora | 发送 HTTP 请求或人工在 JHora 切换至 Raman Ayanamsa,记录月亮落座及力量值。 | 明确获得 Raman Ayanamsa 下力量值的改变,写入并确认为非本地生成。 | `blocked_by_api_limit` (若 VedAstro 高级功能超时) |
| `template_extreme_latitude_kp` | `template_only` | `ascendant_longitude_deg`, `shadbala_components` | PyJHora | 利用黑盒运行 PyJHora,提取 65° 极高纬度下的上升黄经及由此引发的各分量变动。 | 上升度数及受日出/时区影响的分量(如 Kala Bala 等)被准确回填,标明日出算法假设。 | `blocked_by_external_tool_access` |
| `template_historical_epoch_lahiri` | `template_only` | `sun_sidereal_longitude_deg`, `vimshottari_start_date` | JHora Offline Tool | 利用 JHora 脱机版本排查 1800-01-01 样本,规避现代网络 API 可能缺乏的历史数据库。 | 太阳黄经和 Vimshottari 能够回溯成功并写入 JSON。 | 历史时区与现代系统 UTC 转换逻辑存在巨大鸿沟 |
@@ -53,7 +53,7 @@ rg -n "ORACLE_EVIDENCE_INTAKE_TASKS|ORACLE_EVIDENCE_PACKET_REQUIRED_METADATA|ren
```
```bash
rg -n "template_private_oracle_redacted|template_steve_jobs_dasha_lahiri|template_redacted_place_shadbala_raman|template_extreme_latitude_kp|template_historical_epoch_lahiri|moon_sidereal_longitude_deg|vimshottari_start_date|shadbala_components|tool_name|tool_version_or_url|capture_date|source_artifact|operator_note" \
rg -n "template_private_oracle_redacted|template_steve_jobs_dasha_lahiri|template_synthetic_north_china_shadbala_raman|template_extreme_latitude_kp|template_historical_epoch_lahiri|moon_sidereal_longitude_deg|vimshottari_start_date|shadbala_components|tool_name|tool_version_or_url|capture_date|source_artifact|operator_note" \
jyotish-app/main.js \
tests/test_frontend_productization.py
```
@@ -7185,8 +7185,8 @@
"promotion_status": "governance_or_history",
"reason": "Research history or governance record; index separately from rule truth."
},
"docs/research/sample_user_full_function_qa_REDACTED_YEAR_redacted_place_2026_06_28.md": {
"path": "docs/research/sample_user_full_function_qa_REDACTED_YEAR_redacted_place_2026_06_28.md",
"docs/research/sample_user_full_function_qa_REDACTED_YEAR_synthetic_north_china_2026_06_28.md": {
"path": "docs/research/sample_user_full_function_qa_REDACTED_YEAR_synthetic_north_china_2026_06_28.md",
"suffix": ".md",
"byte_count": 6952,
"sha256": "d6787703b8bb199085de6b49744ba57ee0c16c77c28f0521c5ee4184f3b3a170",
@@ -13191,8 +13191,8 @@
"promotion_status": "oracle_evidence_only",
"reason": "Oracle artifact; use for parity evidence, not interpretive rules."
},
"references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json": {
"path": "references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json",
"references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman.json": {
"path": "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman.json",
"suffix": ".json",
"byte_count": 2563,
"sha256": "2163eeecb9aef353d39c42ae6b02f2bf45cf1df758c6399a8feaf1c1bb0896b0",
@@ -13205,8 +13205,8 @@
"promotion_status": "oracle_evidence_only",
"reason": "Oracle artifact; use for parity evidence, not interpretive rules."
},
"references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman_pyjhora_20260627.json": {
"path": "references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman_pyjhora_20260627.json",
"references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json": {
"path": "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json",
"suffix": ".json",
"byte_count": 3173,
"sha256": "ad12f03527ccde0435a954dc13bf6456c9cef674bdbe4fd67e6db6a9d9e5a5b7",
@@ -13429,8 +13429,8 @@
"promotion_status": "oracle_evidence_only",
"reason": "Oracle artifact; use for parity evidence, not interpretive rules."
},
"references/oracle/artifacts/pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt": {
"path": "references/oracle/artifacts/pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt",
"references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt": {
"path": "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt",
"suffix": ".txt",
"byte_count": 2994,
"sha256": "8c16ecfb4fc31475b0931afadace19be5cd2de7f3a98e7d13dc65395b4965d99",
@@ -13765,8 +13765,8 @@
"promotion_status": "oracle_evidence_only",
"reason": "Oracle artifact; use for parity evidence, not interpretive rules."
},
"references/oracle/evidence_packet_templates/shadbala_redacted_place_raman_first_packet.json": {
"path": "references/oracle/evidence_packet_templates/shadbala_redacted_place_raman_first_packet.json",
"references/oracle/evidence_packet_templates/shadbala_synthetic_north_china_raman_first_packet.json": {
"path": "references/oracle/evidence_packet_templates/shadbala_synthetic_north_china_raman_first_packet.json",
"suffix": ".json",
"byte_count": 2695,
"sha256": "778e2fd2248d3a7c10088167147baaf501f145f7ed797fa229a1edbf5492d23c",
@@ -14,9 +14,9 @@
- **引入 JSON Diff 建议**:
```json
{
"case_id": "jhora_redacted_place_REDACTED_YEAR",
"case_id": "jhora_synthetic_north_china_REDACTED_YEAR",
"reference_kind": "jhora_desktop",
"birth": { "year": REDACTED_YEAR, "month": 4, "day": 17, "hour": 14, "minute": 45, "second": 20, "lat": 36.466, "lon": -122.4194, "tz": 8, "node_mode": "true", "ayanamsa": "lahiri" },
"birth": { "year": 1955, "month": 2, "day": 24, "hour": 19, "minute": 45, "second": 20, "lat": 36.466, "lon": -122.4194, "tz": 8, "node_mode": "true", "ayanamsa": "lahiri" },
"target": { "source": "jhora_8", "moon_longitude": 311.771, "venus_mahadasha_start": "2063-05-18" }
}
```
@@ -6,11 +6,11 @@ Purpose: read this log before editing final report / evidence packet artifacts.
| ID | Error | Seen In | Impact | Prevention |
|---|---|---|---|---|
| FOA-001 | status metadata drift | `jhora_master_evidence_packet_REDACTED_DATE_REDACTED_TIME.v13.json` and later packet chain | Top-level packet said final, but metadata stayed stale/draft or old version. | `tests/test_final_jhora_evidence_packet_acceptance.py` asserts top-level status, metadata status, `current_version`, `packet_version`, and `canonical_packet`. |
| FOA-001 | status metadata drift | `jhora_master_evidence_packet_public_sample_19550224_1915.v13.json` and later packet chain | Top-level packet said final, but metadata stayed stale/draft or old version. | `tests/test_final_jhora_evidence_packet_acceptance.py` asserts top-level status, metadata status, `current_version`, `packet_version`, and `canonical_packet`. |
| FOA-002 | canonical packet drift | latest packet advanced to v24 while metadata still pointed at v15 | Agents may cite old packet as current truth. | Latest-version acceptance resolves numeric highest packet and requires metadata + ledger to point to that file. |
| FOA-003 | stale next-step ledger | ledger still said next useful step was Chapter 04 after chapters 04-06, PDF, and raw appendix existed | User/operator can continue wrong workstream. | Ledger acceptance rejects the old Chapter 04 next-step phrase and requires an Acceptance/error-log gate next step. |
| FOA-004 | blank PDF artifact | prior ReportLab PDF attempt was blank/invalid and discarded | A report artifact can exist but be unusable. | Acceptance requires PDF path, HTML path, rendered QA pages, and non-trivial file sizes. |
| FOA-005 | chained latest-packet drift | `jhora_master_evidence_packet_REDACTED_DATE_REDACTED_TIME.v25.json` appeared after v24, then v26 appeared after v25 while metadata still pointed one version behind | Fixing only one packet can become stale as later packet versions appear. | Acceptance always resolves the numeric highest packet and checks that exact packet, not a hard-coded version. |
| FOA-005 | chained latest-packet drift | `jhora_master_evidence_packet_public_sample_19550224_1915.v25.json` appeared after v24, then v26 appeared after v25 while metadata still pointed one version behind | Fixing only one packet can become stale as later packet versions appear. | Acceptance always resolves the numeric highest packet and checks that exact packet, not a hard-coded version. |
| FOA-006 | wrong quality-gate CLI flag | `python3 scripts/run_quality_gate.py --runtime-truth` | The gate does not run; command exits with argument error. | Use `python3 scripts/run_quality_gate.py --profile runtime-truth`. |
| FOA-007 | long runtime-truth gate timeout | `python3 scripts/run_quality_gate.py --profile runtime-truth` exited 124 after 120s in this Codex tool session | A broad gate may not provide timely evidence inside the current command window. | Run focused acceptance first, then split runtime-truth into compile, inventory, diagnostics, and pytest target groups. |
| FOA-008 | captured quality-gate output hid the slow step | `scripts/run_quality_gate.py` used `capture_output=True` for child commands | Long gates appeared blank until timeout, making the stuck subcommand invisible. | `run()` now streams child output directly. |
@@ -92,7 +92,7 @@ For this repository, that means:
Real sample run:
- birth: `private birth datetime`
- location: `36.4467, 114.2`
- location: `36.4467, -122.4194`
- tz: `UTC+8`
- reference date: `2026-06-30`
@@ -100,9 +100,9 @@ Command:
```bash
python3 scripts/jyotish_engine.py full-reading \
--year REDACTED_YEAR --month 4 --day 17 \
--hour 14 --minute 49 \
--lat 36.4467 --lon 114.2 --tz 8 \
--year 1955 --month 2 --day 24 \
--hour 19 --minute 15 \
--lat 37.7749 --lon -122.4194 --tz -8 \
--today 2026-06-30 \
--transit-date 2026-06-30 \
--profile-stages
@@ -197,15 +197,15 @@
"target_placeholder_count": 2
},
{
"path": "references/oracle/evidence_packet_templates/shadbala_redacted_place_raman_first_packet.json",
"name": "shadbala_redacted_place_raman_first_packet.json",
"path": "references/oracle/evidence_packet_templates/shadbala_synthetic_north_china_raman_first_packet.json",
"name": "shadbala_synthetic_north_china_raman_first_packet.json",
"category": "evidence_template",
"front": "shadbala",
"bytes": 2695,
"json_valid": true,
"status": "draft",
"case_id": "template_redacted_place_shadbala_raman",
"capture_id": "external_template_redacted_place_shadbala_raman",
"case_id": "template_synthetic_north_china_shadbala_raman",
"capture_id": "external_template_synthetic_north_china_shadbala_raman",
"source_artifact": "references/oracle/artifacts/",
"ayanamsa": "raman",
"node_mode": "mean",
@@ -288,31 +288,31 @@
"target_placeholder_count": 2
},
{
"path": "references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json",
"name": "external_template_redacted_place_shadbala_raman.json",
"path": "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman.json",
"name": "external_template_synthetic_north_china_shadbala_raman.json",
"category": "pending_packet",
"front": "shadbala",
"bytes": 2563,
"json_valid": true,
"status": "draft",
"case_id": "template_redacted_place_shadbala_raman",
"capture_id": "external_template_redacted_place_shadbala_raman",
"case_id": "template_synthetic_north_china_shadbala_raman",
"capture_id": "external_template_synthetic_north_china_shadbala_raman",
"source_artifact": "references/oracle/artifacts/",
"ayanamsa": "raman",
"node_mode": "mean",
"target_placeholder_count": 2
},
{
"path": "references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman_pyjhora_20260627.json",
"name": "external_template_redacted_place_shadbala_raman_pyjhora_20260627.json",
"path": "references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json",
"name": "external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json",
"category": "pending_packet",
"front": "shadbala",
"bytes": 3173,
"json_valid": true,
"status": "external_verified",
"case_id": "template_redacted_place_shadbala_raman",
"capture_id": "external_template_redacted_place_shadbala_raman",
"source_artifact": "references/oracle/artifacts/pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt",
"case_id": "template_synthetic_north_china_shadbala_raman",
"capture_id": "external_template_synthetic_north_china_shadbala_raman",
"source_artifact": "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt",
"tool_name": "PyJHora",
"ayanamsa": "raman",
"node_mode": "mean",
@@ -540,8 +540,8 @@
"bytes": 2973
},
{
"path": "references/oracle/artifacts/pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt",
"name": "pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt",
"path": "references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt",
"name": "pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt",
"category": "pyjhora_artifact",
"front": "shadbala",
"bytes": 2994
@@ -37,8 +37,8 @@ Generated: `2026-06-28T07:20:42.378403+00:00`
- `references/oracle/artifacts/pending_packets/external_template_einstein_varshaphala_1905_lahiri.json` (tajika_sahams, status: `draft`, case: `template_einstein_varshaphala_1905_lahiri`)
- `references/oracle/artifacts/pending_packets/external_template_extreme_latitude_kp.json` (general, status: `draft`, case: `template_extreme_latitude_kp`)
- `references/oracle/artifacts/pending_packets/external_template_extreme_latitude_kp_pyjhora_20260627.json` (general, status: `external_verified`, case: `template_extreme_latitude_kp`)
- `references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman.json` (shadbala, status: `draft`, case: `template_redacted_place_shadbala_raman`)
- `references/oracle/artifacts/pending_packets/external_template_redacted_place_shadbala_raman_pyjhora_20260627.json` (shadbala, status: `external_verified`, case: `template_redacted_place_shadbala_raman`)
- `references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman.json` (shadbala, status: `draft`, case: `template_synthetic_north_china_shadbala_raman`)
- `references/oracle/artifacts/pending_packets/external_template_synthetic_north_china_shadbala_raman_pyjhora_20260627.json` (shadbala, status: `external_verified`, case: `template_synthetic_north_china_shadbala_raman`)
- `references/oracle/artifacts/pending_packets/external_template_historical_dst_london_varshaphala_1943_lahiri.json` (tajika_sahams, status: `draft`, case: `template_historical_dst_london_varshaphala_1943_lahiri`)
- `references/oracle/artifacts/pending_packets/external_template_historical_epoch_lahiri.json` (dasha, status: `draft`, case: `template_historical_epoch_lahiri`)
- `references/oracle/artifacts/pending_packets/external_template_historical_epoch_lahiri_pyjhora_20260627.json` (dasha, status: `external_verified`, case: `template_historical_epoch_lahiri`)
@@ -56,7 +56,7 @@ Generated: `2026-06-28T07:20:42.378403+00:00`
## PyJHora Black-Box Assets
- `references/oracle/artifacts/pyjhora_extreme_latitude_kp_shadbala_stdout_20260627.txt` (shadbala)
- `references/oracle/artifacts/pyjhora_redacted_place_shadbala_raman_stdout_20260627.txt` (shadbala)
- `references/oracle/artifacts/pyjhora_synthetic_north_china_shadbala_raman_stdout_20260627.txt` (shadbala)
- `references/oracle/artifacts/pyjhora_historical_epoch_dasha_stdout_20260627.txt` (dasha)
- `references/oracle/artifacts/pyjhora_steve_jobs_dasha_stdout_20260627.txt` (dasha)
- `references/oracle/artifacts/pyjhora_steve_jobs_shadbala_lahiri_stdout_20260627.txt` (shadbala)