feat: prepare CASAN paid PoC release package

This commit is contained in:
thanhnv
2026-07-18 00:07:04 +07:00
parent c818eaf8b0
commit 881ee01691
55 changed files with 5992 additions and 44 deletions
@@ -0,0 +1,17 @@
{
"files": {
"benign-fp-report.json": "52d3911e7b539f07391e187e3212f198f25e55d08396e2ab0e75d9db3178848b",
"decision-log.md": "6975cabd29baff1fbc1c9ceca8a44323832ecc28eafe6bdd30fbe94981563d70",
"h1-context-report.json": "64a1bbcdf38672eb1efcb8742e258850709297bd848a443fcf11b94b0f165d9d",
"h2-tool-audit.json": "095b369ae21d47ecfcbc38387f3255118bc32a4c28327f19b27e0bfcd7c945ae",
"h3-eval-scorecard.json": "b0e779fb219c4d9d38e55eefb15cd4370b4f0760e0a3bf70b5d22923407c8e47",
"h4-security-report.json": "2828cf13b2f4edba852c9da77e1397b3b44933a3bd6d04c81b4ac96e31026e9d",
"h5-audit-chain-proof.json": "f9918cc45311097be05ab852c36ed99170c65962f8c0f0e71b91d7468f9f2ba4",
"h6-cost-telemetry.json": "e01cc551016f3d4b7d525e11cf9556481cb1376408daca6e2314aba9a3ddd088",
"h7-orchestration-report.json": "9dd45a16004bd705c7307fae6c74975049a156a3dc1e14fc439ad816d5400066",
"redteam-result.json": "341f7985a8cceb2cb3cc7705e644a4407ab27f7203c148abb98788dcca5e5c8e",
"run-summary.json": "16cf96c55fa7b899e7b021b52a88cf3fa160366ab03e2361e431b0639196af29",
"traceability-matrix.json": "011ac8ac6ab008f1048e3bce1e3f7b5b28bc969de7a1574fed86af16e259de27"
},
"manifest_head": "c55972046b1fe12b6bc538fde0ab31ad62e0c9e4b20003e5f1370f104d849f47"
}
@@ -0,0 +1,41 @@
{
"generated": "deterministic (semantic OFF)",
"policy": {
"fp_max_pct": 3.0,
"adv_block_min_pct": 95.0,
"critical_block_pct": 100.0
},
"benign": {
"by_lang": {
"en": {
"total": 32,
"false_positives": 0
},
"vi": {
"total": 32,
"false_positives": 0
},
"ja": {
"total": 31,
"false_positives": 0
}
},
"total": 95,
"false_positives": 0,
"false_positive_rate_pct": 0.0,
"examples": []
},
"adversarial": {
"total": 12,
"blocked": 12,
"block_rate_pct": 100.0,
"missed": []
},
"critical": {
"total": 4,
"blocked": 4,
"block_rate_pct": 100.0
},
"within_budget": true,
"breaches": []
}
@@ -0,0 +1,17 @@
# CASAN Evidence Pack — Decision Log
Run: `9534d91f-4518-41c5-a7c4-56e22a56c2a4`
Certified: **False**
Reasons: telemetry_integrity_not_verified, unresolved_cost_spike
## Gate outcomes
- H4 security: 186 records, 38 blocked
- H5 audit chain: AUDIT_CHAIN_VALID anchor=signed last_hash=e715767a0d5ec67a8955c0e8e87262b5ca8c0f5826f1dee6583014ede8032bbe (ok=True)
- H5 telemetry integrity: none (ok=False)
- H6 cost: spike_detected, 56519 provider tokens
- H2 tool audit: 24 records, chain_ok=True
- H3 traceability: ok=True
- Red-team: 16 vectors (block_rate=100.0%)
_Summaries only — no raw secret/PII content is copied into the pack._
@@ -0,0 +1,6 @@
{
"harness": "H1-context",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"context_yaml": true,
"note": "path/artifact validation performed by context-validate.sh at run time"
}
@@ -0,0 +1,9 @@
{
"harness": "H2-tool",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"records": 24,
"denied": 6,
"approved": 5,
"chain_status": "TOOL_AUDIT_VALID anchor=signed last_hash=dda5685f038e171c7fdd8bb36b00793c3de7b14be7295fdfe34fff5e6a03c443",
"chain_ok": true
}
@@ -0,0 +1,6 @@
{
"harness": "H3-eval",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"judge_gate_tests": true,
"note": "judge-gate fail-before/fix cycle proven by phase3-judge-gate-tests.sh"
}
@@ -0,0 +1,10 @@
{
"harness": "H4-security",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"records": 186,
"by_status": {
"blocked": 38,
"pass": 148
},
"blocked": 38
}
@@ -0,0 +1,8 @@
{
"harness": "H5-governance",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"audit_chain": "AUDIT_CHAIN_VALID anchor=signed last_hash=e715767a0d5ec67a8955c0e8e87262b5ca8c0f5826f1dee6583014ede8032bbe",
"audit_chain_ok": true,
"telemetry_integrity": "none",
"telemetry_ok": false
}
@@ -0,0 +1,9 @@
{
"harness": "H6-agentops",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"provider_records": 56,
"metric_records": 40,
"total_provider_tokens": 56519,
"cost_spike_rc": 2,
"cost_spike_status": "spike_detected"
}
@@ -0,0 +1,6 @@
{
"harness": "H7-orchestration",
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"rollback_log": true,
"note": "rollback/fallback/drift proven by adversarial + run-casan4 suites"
}
@@ -0,0 +1 @@
c55972046b1fe12b6bc538fde0ab31ad62e0c9e4b20003e5f1370f104d849f47
@@ -0,0 +1,8 @@
{
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"vectors_defined": 16,
"critical_vectors": 4,
"adversarial_block_rate_pct": 100.0,
"critical_block_rate_pct": 100.0,
"note": "block rates from benign-fp-report (deterministic layer); full suites: phase1-track-a + phase2-track-c"
}
@@ -0,0 +1,28 @@
{
"run_id": "9534d91f-4518-41c5-a7c4-56e22a56c2a4",
"pack_version": "1.0-mvp",
"certified": false,
"certification_reasons": [
"telemetry_integrity_not_verified",
"unresolved_cost_spike"
],
"required_gates": [
"H3-traceability",
"H4-security",
"H5-audit-chain",
"H5-telemetry",
"H6-cost",
"benign-fp-budget"
],
"harness_reports": [
"benign-fp-report.json",
"h1-context-report.json",
"h2-tool-audit.json",
"h3-eval-scorecard.json",
"h4-security-report.json",
"h5-audit-chain-proof.json",
"h6-cost-telemetry.json",
"h7-orchestration-report.json",
"redteam-result.json"
]
}
@@ -0,0 +1,168 @@
{
"generated_at": "2026-07-17T16:57:32Z",
"requirements_source": "apps/okr/domain/input/okr-requirement.md",
"mapping_source": "apps/okr/domain/traceability-map.json",
"summary": {
"requirements": 5,
"passed": 5,
"failed": 0,
"symbol_refs": 9,
"symbols_found": 9,
"symbols_missing": 0,
"orphan_mappings": []
},
"matrix": [
{
"id": "FR-01",
"name": "Login",
"status": "PASS",
"code": [
"apps/okr/backend/src/auth/auth.controller.ts",
"apps/okr/backend/src/auth/auth.service.ts",
"apps/okr/frontend/src/pages/Login.tsx",
"apps/okr/frontend/src/hooks/useAuth.tsx"
],
"tests": [
"apps/okr/backend/test/services.test.ts",
"apps/okr/backend/test/e2e.test.ts"
],
"missing_code": [],
"missing_tests": [],
"symbol_refs": [
{
"file": "apps/okr/backend/src/auth/auth.service.ts",
"symbol": "AuthService",
"found": true
},
{
"file": "apps/okr/backend/src/auth/auth.service.ts",
"symbol": "login",
"found": true
}
],
"missing_symbols": [],
"missing_lines": []
},
{
"id": "FR-02",
"name": "Create Objective",
"status": "PASS",
"code": [
"apps/okr/backend/src/objectives/objectives.controller.ts",
"apps/okr/backend/src/objectives/objectives.service.ts",
"apps/okr/frontend/src/pages/CreateObjective.tsx",
"apps/okr/frontend/src/schemas/objective.schema.ts"
],
"tests": [
"apps/okr/backend/test/services.test.ts",
"apps/okr/backend/test/e2e.test.ts",
"apps/okr/frontend/src/__tests__/okr.test.tsx"
],
"missing_code": [],
"missing_tests": [],
"symbol_refs": [
{
"file": "apps/okr/backend/src/objectives/objectives.service.ts",
"symbol": "ObjectivesService",
"found": true
},
{
"file": "apps/okr/backend/src/objectives/objectives.service.ts",
"symbol": "create",
"found": true
}
],
"missing_symbols": [],
"missing_lines": []
},
{
"id": "FR-03",
"name": "Create Key Result",
"status": "PASS",
"code": [
"apps/okr/backend/src/key-results/key-results.controller.ts",
"apps/okr/backend/src/key-results/key-results.service.ts",
"apps/okr/backend/src/key-results/dto/create-key-result.dto.ts"
],
"tests": [
"apps/okr/backend/test/services.test.ts",
"apps/okr/backend/test/e2e.test.ts"
],
"missing_code": [],
"missing_tests": [],
"symbol_refs": [
{
"file": "apps/okr/backend/src/key-results/key-results.service.ts",
"symbol": "KeyResultsService",
"found": true
},
{
"file": "apps/okr/backend/src/key-results/key-results.service.ts",
"symbol": "create",
"found": true
}
],
"missing_symbols": [],
"missing_lines": []
},
{
"id": "FR-04",
"name": "Update Progress",
"status": "PASS",
"code": [
"apps/okr/backend/src/key-results/key-results.controller.ts",
"apps/okr/backend/src/key-results/key-results.service.ts",
"apps/okr/backend/src/key-results/dto/update-progress.dto.ts",
"apps/okr/frontend/src/pages/KeyResultDetail.tsx"
],
"tests": [
"apps/okr/backend/test/services.test.ts",
"apps/okr/backend/test/e2e.test.ts",
"apps/okr/frontend/src/__tests__/okr.test.tsx"
],
"missing_code": [],
"missing_tests": [],
"symbol_refs": [
{
"file": "apps/okr/backend/src/key-results/key-results.service.ts",
"symbol": "updateProgress",
"found": true
}
],
"missing_symbols": [],
"missing_lines": []
},
{
"id": "FR-05",
"name": "Dashboard",
"status": "PASS",
"code": [
"apps/okr/backend/src/objectives/objectives.controller.ts",
"apps/okr/backend/src/objectives/objectives.service.ts",
"apps/okr/frontend/src/pages/Dashboard.tsx",
"apps/okr/frontend/src/hooks/useObjectives.ts"
],
"tests": [
"apps/okr/backend/test/services.test.ts",
"apps/okr/backend/test/e2e.test.ts",
"apps/okr/frontend/src/__tests__/okr.test.tsx"
],
"missing_code": [],
"missing_tests": [],
"symbol_refs": [
{
"file": "apps/okr/backend/src/objectives/objectives.service.ts",
"symbol": "ObjectivesService",
"found": true
},
{
"file": "apps/okr/backend/src/objectives/objectives.service.ts",
"symbol": "list",
"found": true
}
],
"missing_symbols": [],
"missing_lines": []
}
]
}