feat(kis-collection): finalize sqlite migration, add fallback resilience, and update WBS documentation

This commit is contained in:
2026-06-22 18:34:56 +09:00
parent c576138829
commit 6c549b7bdc
48 changed files with 34610 additions and 24883 deletions
+27 -24
View File
@@ -90,19 +90,6 @@ TEMP_KEEP_FILES = {
"final_execution_decision_v2.json",
"prediction_accuracy_harness_v2.json",
"validate_prediction_accuracy_harness_v2.json",
"alpha_feedback_loop_v2.json",
"validate_alpha_feedback_loop_v2.json",
"operational_alpha_calibration_v2.json",
"validate_operational_alpha_calibration_v2.json",
"sector_flow_history_progress_v1.json",
"validate_sector_flow_history_progress_v1.json",
"data_gated_progress_v1.json",
"validate_data_gated_progress_v1.json",
"realized_performance_v1.json",
"validate_realized_performance_v1.json",
"single_truth_ledger_v2.json",
"smart_cash_recovery_v7.json",
"smart_cash_recovery_v9.json",
# Data Analysis & Verification Reports
"horizon_rebalance_plan_v1.json",
"factor_lifecycle_completeness_v1.json",
@@ -111,6 +98,20 @@ TEMP_KEEP_FILES = {
"strategy_routing_audit_v1.json",
}
TEMP_NOISE_FILES = {
"canonical_artifact_resolver_v1.json",
"final_execution_decision_v2.json",
"rebalance_cadence_gate_v1.json",
"single_truth_ledger_v2.json",
"smart_cash_recovery_v7.json",
"smart_cash_recovery_v9.json",
"state_vector_constructor_v1.json",
"transition_set_enumerator_v1.json",
"walk_forward_bootstrap_v1.json",
"weekly_legacy_transfer_plan_v1.json",
"prediction_accuracy_harness_v2.json",
}
UPLOAD_KEEP_DIRS_UPLOAD = {
"artifacts",
"docs",
@@ -194,7 +195,9 @@ def should_include(path: Path, mode: str, include_xlsx: bool, include_backups: b
return False
if path.name == DEFAULT_OUTPUT.name:
return False
if mode == "upload" and rel.as_posix() in _active_manifest_refs():
if mode == "upload" and path.name in TEMP_NOISE_FILES:
return False
if mode == "upload" and parts[0] != "Temp" and rel.as_posix() in _active_manifest_refs():
return True
if parts[0] == "Temp":
if path.name in TEMP_EXCLUDED_FILES:
@@ -277,7 +280,7 @@ def main() -> int:
if args.skip_validate:
plan = []
if not args.skip_convert:
plan.append({"name": "prepare", "command": ["npm", "run", "ops:prepare"]})
plan.append({"name": "prepare", "command": ["tools/convert_xlsx_to_json.py"]})
plan.append({
"name": "zip",
"depends_on": ["prepare"] if not args.skip_convert else [],
@@ -289,9 +292,9 @@ def main() -> int:
if args.validation_mode == "release":
plan = []
if not args.skip_convert:
plan.append({"name": "prepare", "command": ["npm", "run", "ops:prepare"]})
plan.append({"name": "prepare", "command": ["tools/convert_xlsx_to_json.py"]})
plan.extend([
{"name": "release_full", "command": ["npm", "run", "ops:release"], "depends_on": ["prepare"] if not args.skip_convert else []},
{"name": "release_full", "command": ["tools/run_release_dag_v3.py", "--mode", "full"], "depends_on": ["prepare"] if not args.skip_convert else []},
{
"name": "zip",
"depends_on": ["release_full"],
@@ -307,11 +310,11 @@ def main() -> int:
gate_status = "OK"
plan = []
if not args.skip_convert:
plan.append({"name": "prepare", "command": ["npm", "run", "ops:prepare"]})
plan.append({"name": "prepare", "command": ["tools/convert_xlsx_to_json.py"]})
plan.extend([
{
"name": "build_bundle",
"command": ["npm", "run", "ops:build"],
"command": ["tools/build_bundle.py"],
},
{
"name": "zip",
@@ -324,10 +327,10 @@ def main() -> int:
print("QUICK_MODE_FALLBACK_RELEASE_GATE:", ";".join(reasons))
plan = []
if not args.skip_convert:
plan.append({"name": "prepare", "command": ["npm", "run", "ops:prepare"]})
plan.append({"name": "prepare", "command": ["tools/convert_xlsx_to_json.py"]})
plan.extend([
{"name": "release_gate", "command": ["npm", "run", "ops:validate"], "depends_on": ["prepare"] if not args.skip_convert else []},
{"name": "build_bundle", "command": ["npm", "run", "ops:build"]},
{"name": "release_gate", "command": ["tools/run_release_dag_v3.py", "--mode", "release"], "depends_on": ["prepare"] if not args.skip_convert else []},
{"name": "build_bundle", "command": ["tools/build_bundle.py"]},
{
"name": "zip",
"depends_on": ["release_gate", "build_bundle"],
@@ -344,11 +347,11 @@ def main() -> int:
gate_status = "OK"
plan = []
if not args.skip_convert:
plan.append({"name": "prepare", "command": ["npm", "run", "ops:prepare"]})
plan.append({"name": "prepare", "command": ["tools/convert_xlsx_to_json.py"]})
plan.extend([
{
"name": "build_bundle",
"command": ["npm", "run", "ops:build"],
"command": ["tools/build_bundle.py"],
},
{
"name": "zip",