feat: add oracle evidence safeguards

This commit is contained in:
732642856
2026-06-25 23:23:56 +08:00
parent dbfe603df1
commit 96caaeae2c
20 changed files with 1337 additions and 25 deletions
+1
View File
@@ -0,0 +1 @@
+34
View File
@@ -0,0 +1,34 @@
# External Oracle Artifacts
This directory stores sanitized evidence artifacts referenced by `source_artifact`
inside external oracle evidence packets.
## Required Path Policy
- Use repo-relative paths such as `references/oracle/artifacts/jhora_REDACTED_YEAR_moon_lahiri_v1.png`.
- `source_artifact` must point to a file in `references/oracle/artifacts/` or to a documented external review location.
- Mark the artifact kind as `external_oracle_artifact` in operator notes when possible.
## Privacy Rules
- 必须打码 any real person's full name, contact details, exact street address, hospital, account name, or other identifying text.
- 不得提交私人 PDF 原件;only sanitized screenshots or typed stdout snippets belong here.
- 不得提交完整出生报告 or full private reading transcripts.
- 不得提交浏览器 scratch folders, screenshots containing account sessions, cookies, tokens, or desktop notifications.
- Prefer synthetic fixtures, public figures, or heavily redacted screenshots.
## Allowed Examples
- Redacted JHora screenshot showing settings, Moon longitude, Dasha boundary, or Shadbala component table.
- Redacted PyJHora stdout captured in a plain text file with command metadata.
- Public-figure sample screenshot where source settings are visible and no private account data appears.
## Not Allowed
- Unredacted volunteer/client birth data.
- `output_report.txt`, `results_extracted.md`, private PDFs, or full generated readings.
- Local engine output from this repository pretending to be an external oracle.
Evidence packets remain `draft` until their target values are filled, their
artifact is reviewed, and their status is explicitly promoted to
`external_verified`.
@@ -0,0 +1,195 @@
{
"schema_version": 1,
"scope": "external_ashtakoot_oracle_cases",
"notes": [
"These rows are external compatibility evidence templates, not production tuning constants.",
"Do not promote any row to external_verified until all target values come from JHora/VedAstro/AstroSage or another documented external source.",
"Do not copy AGPL/GPL/commercial implementation code or proprietary screenshots beyond redacted evidence artifacts."
],
"template_cases": [
{
"id": "ashtakoot_public_couple_lahiri_01",
"status": "template_only",
"source": "JHora/VedAstro/AstroSage compatibility screenshot",
"privacy": "public_or_synthetic_relationship_template",
"birth": {
"male": {
"year": 1955,
"month": 2,
"day": 24,
"hour": 19,
"minute": 15,
"second": 0,
"lat": 37.7749,
"lon": -122.4194,
"tz": -8
},
"female": {
"year": 1958,
"month": 8,
"day": 14,
"hour": 12,
"minute": 0,
"second": 0,
"lat": 34.0522,
"lon": -118.2437,
"tz": -8
}
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true",
"matching_system": "ashtakoot_36_point"
},
"target": {
"total_score": null,
"varna": null,
"vashya": null,
"tara": null,
"yoni": null,
"graha_maitri": null,
"gana": null,
"bhakoot": null,
"nadi": null,
"kuja_status": null
},
"verification_note": "Use public/synthetic relationship data first; fill targets only from external compatibility output."
},
{
"id": "ashtakoot_synthetic_high_score_lahiri_02",
"status": "template_only",
"source": "VedAstro/JHora compatibility screenshot",
"privacy": "synthetic_relationship_template",
"birth": {
"male_moon_longitude_deg": 45.0,
"female_moon_longitude_deg": 48.0
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "mean",
"matching_system": "ashtakoot_36_point",
"input_mode": "moon_longitude_only"
},
"target": {
"total_score": null,
"varna": null,
"vashya": null,
"tara": null,
"yoni": null,
"graha_maitri": null,
"gana": null,
"bhakoot": null,
"nadi": null,
"kuja_status": null
},
"verification_note": "Synthetic high-score style case; use an external tool that accepts Moon longitude or matching birth data."
},
{
"id": "ashtakoot_synthetic_nadi_dosha_03",
"status": "template_only",
"source": "JHora/AstroSage compatibility screenshot",
"privacy": "synthetic_relationship_template",
"birth": {
"male_moon_longitude_deg": 0.0,
"female_moon_longitude_deg": 180.0
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "mean",
"matching_system": "ashtakoot_36_point",
"input_mode": "moon_longitude_only"
},
"target": {
"total_score": null,
"varna": null,
"vashya": null,
"tara": null,
"yoni": null,
"graha_maitri": null,
"gana": null,
"bhakoot": null,
"nadi": null,
"kuja_status": null
},
"verification_note": "Nadi-dosha boundary case; capture any exception or mitigation note shown by the external source."
},
{
"id": "ashtakoot_synthetic_bhakoot_boundary_04",
"status": "template_only",
"source": "VedAstro/JHora compatibility screenshot",
"privacy": "synthetic_relationship_template",
"birth": {
"male_moon_longitude_deg": 15.5,
"female_moon_longitude_deg": 120.0
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "mean",
"matching_system": "ashtakoot_36_point",
"input_mode": "moon_longitude_only"
},
"target": {
"total_score": null,
"varna": null,
"vashya": null,
"tara": null,
"yoni": null,
"graha_maitri": null,
"gana": null,
"bhakoot": null,
"nadi": null,
"kuja_status": null
},
"verification_note": "Bhakoot/rashi distance boundary case; capture component score and external explanation."
},
{
"id": "ashtakoot_kuja_dosha_chart_05",
"status": "template_only",
"source": "JHora/AstroSage compatibility screenshot",
"privacy": "synthetic_relationship_template",
"birth": {
"male": {
"year": 1990,
"month": 1,
"day": 15,
"hour": 6,
"minute": 30,
"second": 0,
"lat": 28.6139,
"lon": 77.209,
"tz": 5.5
},
"female": {
"year": 1992,
"month": 7,
"day": 20,
"hour": 18,
"minute": 45,
"second": 0,
"lat": 19.076,
"lon": 72.8777,
"tz": 5.5
}
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "mean",
"matching_system": "ashtakoot_36_point",
"requires_full_chart": true
},
"target": {
"total_score": null,
"varna": null,
"vashya": null,
"tara": null,
"yoni": null,
"graha_maitri": null,
"gana": null,
"bhakoot": null,
"nadi": null,
"kuja_status": null
},
"verification_note": "Full chart compatibility case; external artifact must show Kuja/Manglik status or its absence."
}
]
}
@@ -0,0 +1,115 @@
{
"capture_id": "external_template_steve_jobs_dasha_lahiri",
"status": "draft",
"case_id": "template_steve_jobs_dasha_lahiri",
"birth": {
"year": 1955,
"month": 2,
"day": 24,
"hour": 19,
"minute": 15,
"second": 0,
"lat": 37.7749,
"lon": -122.4194,
"tz": -8
},
"settings": {
"ayanamsa": "lahiri",
"node_mode": "true"
},
"required_metadata_fields": [
"tool_name",
"tool_version_or_url",
"capture_date",
"source_artifact",
"ayanamsa",
"node_mode",
"timezone",
"operator_note"
],
"metadata": {
"tool_name": "",
"tool_version_or_url": "",
"capture_date": "",
"source_artifact": "references/oracle/artifacts/",
"ayanamsa": "Lahiri",
"node_mode": "true node",
"timezone": "UTC-08:00",
"operator_note": ""
},
"target_placeholders": {
"target.vimshottari_start_date": null,
"target.shadbala_components": {
"Sun": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Moon": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Mars": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Mercury": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Jupiter": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Venus": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
},
"Saturn": {
"sthana": null,
"dig": null,
"kala": null,
"chesta": null,
"naisargika": null,
"drik": null
}
}
},
"integrity_checks": {
"must_not_come_from_local_engine": true,
"requires_external_artifact": true,
"requires_status_external_verified_before_calibration": true,
"reject_global_shadbala_scaling": true
},
"promotion_status_after_fill": "external_verified",
"operator_checklist": [
"Open JHora or PyJHora as an external black-box oracle.",
"Capture a redacted source artifact under references/oracle/artifacts/.",
"Fill Vimshottari start date from the external tool.",
"Fill all seven Shadbala planets and all six components from the external tool.",
"Promote status to external_verified only after source_artifact and target values are filled."
]
}