update first - 84
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/dFRVvIFBO+YIs0gMDN
|
||||
XsBh6YSDkdbDe/jcISLCqplACnlyBRPcv6vaC4+VA8w/z9Q82x9GPei2fFPpF+tW
|
||||
dEwZGyrBWF0b337myfZj/h+pTrOWoJjvJFrPcQhCM6iMxLyORt3HU6OpL2EwYMkW
|
||||
Y9kGxBKUrrW5nXcnb+4zsOtPauVFDjij7JuIEnVTOpPkljPI+/MF7Ik/mrHuUgUM
|
||||
JatzQ1XvwPg42qvyDXbSR1IvCMB71v+0kkibv0SsTm5CogMFwS/BtOecnYJG40i0
|
||||
hB0GbKABGKqr8tYSrfSuXSuY/14JuzWtIJRB1pNyIL+bpuuU+isiEeBvEEWpqJvP
|
||||
xwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,55 @@
|
||||
version: 1.0
|
||||
bundle_id: casan-okr-harness-policy
|
||||
owner: ai-governance-board
|
||||
description: Central policy bundle for CASAN Level 5 governance
|
||||
|
||||
policies:
|
||||
- id: h4-prompt-filter
|
||||
path: .specify/security/prompt-filter.yaml
|
||||
owner: security-team
|
||||
required: true
|
||||
|
||||
- id: h4-output-policy
|
||||
path: .specify/security/output-policy.yaml
|
||||
owner: security-team
|
||||
required: true
|
||||
|
||||
- id: h5-approval-flow
|
||||
path: .specify/governance/approval-flow.yaml
|
||||
owner: governance-team
|
||||
required: true
|
||||
|
||||
- id: h5-risk-registry
|
||||
path: .specify/governance/risk-registry.yaml
|
||||
owner: governance-team
|
||||
required: true
|
||||
|
||||
- id: h6-metrics
|
||||
path: .specify/agentops/metrics.yaml
|
||||
owner: agentops-team
|
||||
required: true
|
||||
|
||||
- id: l5-tool-registry
|
||||
path: .specify/level5/tool-registry.yaml
|
||||
owner: platform-team
|
||||
required: true
|
||||
|
||||
- id: l5-fallback
|
||||
path: .specify/level5/model-fallback.yaml
|
||||
owner: platform-team
|
||||
required: true
|
||||
|
||||
- id: l5-drift
|
||||
path: .specify/level5/drift-policy.yaml
|
||||
owner: quality-team
|
||||
required: true
|
||||
|
||||
approval:
|
||||
signing_required: true
|
||||
approver_group: ai-governance-board
|
||||
verification_script: .specify/scripts/bash/sign-policy-bundle.sh
|
||||
|
||||
evidence:
|
||||
manifest: .specify/level5/central-governance/policy-manifest.json
|
||||
signature: .specify/level5/central-governance/policy-manifest.sig
|
||||
public_key: .specify/level5/central-governance/policy-public.pem
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"bundle_id": "casan-okr-harness-policy",
|
||||
"files": [
|
||||
{
|
||||
"bytes": 2856,
|
||||
"path": ".specify/security/prompt-filter.yaml",
|
||||
"sha256": "4bd0b747aed9751d0a39b0021656884672624c746fca972ccc38ce1856403cde"
|
||||
},
|
||||
{
|
||||
"bytes": 1230,
|
||||
"path": ".specify/security/output-policy.yaml",
|
||||
"sha256": "1c890c7ca45ad56a9ba7df8d933184021766eabcd701bb92860e05416cae25c3"
|
||||
},
|
||||
{
|
||||
"bytes": 1935,
|
||||
"path": ".specify/governance/approval-flow.yaml",
|
||||
"sha256": "5ee774fd595fae08429fa7832fccf1c3fa7b607446e5f8b602b36dfabedbe5b9"
|
||||
},
|
||||
{
|
||||
"bytes": 2003,
|
||||
"path": ".specify/governance/risk-registry.yaml",
|
||||
"sha256": "a37a7eb3db26389f3bf024637ed88a95bf159beec0f60b25fa17c969bb762440"
|
||||
},
|
||||
{
|
||||
"bytes": 1053,
|
||||
"path": ".specify/agentops/metrics.yaml",
|
||||
"sha256": "3b8b7d1b71dd654bf600c5366b012daf7dea6415e71b50688872526bfac5af33"
|
||||
},
|
||||
{
|
||||
"bytes": 2308,
|
||||
"path": ".specify/level5/tool-registry.yaml",
|
||||
"sha256": "c7f0081617b754b84a70ee6386277f3e8cd827ba8685d0245bc2b4f979951837"
|
||||
},
|
||||
{
|
||||
"bytes": 722,
|
||||
"path": ".specify/level5/model-fallback.yaml",
|
||||
"sha256": "731f98e9ca8182af9183de3711c0376c2e5daf38c769f27a5556d438aa53e2d7"
|
||||
},
|
||||
{
|
||||
"bytes": 389,
|
||||
"path": ".specify/level5/drift-policy.yaml",
|
||||
"sha256": "e81ea7435052b1cfbb3d296789a8d6c8bd839675150298a879ad7f5f1d853312"
|
||||
}
|
||||
],
|
||||
"generated_at": "2026-06-29T17:01:14Z"
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfM+xN7sifm+ZQ
|
||||
SBk1tzCCYIzglq/t8bRB8XIkkAtPi8THuSiGFdWxL2ntuIloTiJFxqJuV2A91ksx
|
||||
XwKZHd5Fu1FWjzCaWm9XI1R0oC6CKQSZrHyjzZECH41wSGIzo3IRkDvV52xFgFY2
|
||||
hsZltNwKJdNUWW4EYq7OS3dlEVCp/Ly3SsTaC2rTaGpAmeODh4gYTeeyx433u49T
|
||||
0ScFiTnN9Z5dUDU1meYbbVqG8RJdipFfaX43gteNFnteLJz+2k4m7RNr0L8exVXU
|
||||
jqifTCPACC3uLASeRyZSHSNMINQMmmXLX72cfkLP6IMbWzYGzeIOuiuDbFLULCda
|
||||
pSuoH8ONAgMBAAECggEACuTOLC0FPGq6EU9FrlfJMXqy2SFmi3UpHQQNB/R1Wa2a
|
||||
OwJwA/DVjQjOCk7A1ErYbIbhkYRYGRMjVQ8HyftxvLrLH42vyTgb+033Fv3pAM4W
|
||||
uv9DDiBgZlFLZ94EHj12bj484e+yiHT2MUf6pnYAQo+BDPoLnbA0/vfKBTfwmZkO
|
||||
mJFaEGAP3pCqnXpPf4MVswzaziLWDjBDe8B6Ad4gaR9Sqyjrzg3blbg826tE1por
|
||||
aX9V0e2w/2qJQJ/xJvvRxoro7ipLtm+sUH0E0dIsLc6ZZuHDpTO5HfIMdGJwqGHN
|
||||
sYJShGYJrY9PgpczQihF0+5m1C0KlL26Gmo3EmlIEQKBgQDR156Xv282iqfRWu2R
|
||||
Car4u3J3WRfr6ZxFMeYAXlhBYZl4rKsHB+ZBFaXbiS7EXDU0FUMdw7taIj8JR92O
|
||||
hCBTvPlVI0/kWMPuqoYQkLAPvWXE4LKhDAxWwsbRuzSuoESHxbBBjdY1zBSr5dc5
|
||||
xQV1QD4Zyjpa61St40dLhDXDCQKBgQDCOMHrElNZYezMuPq7An2zSlRwm5VOQJFO
|
||||
3qVDdiz8sMN749/Wd9FoIu57JK8foW3pDdMvX0jvfyIwg+bjYlLz217WVylSJ5I2
|
||||
8j3zi7aJjO/OcAXYp9DI5lrG6MEoi2RkJ8O/mvgxzQ36b7sU3nPL7Y36r1r4PGW2
|
||||
QRa4HbqJZQKBgEalgQ81tAt4wucI5dJenuD+uprTs+oIzEO/eN/G44+ffDvUZgAH
|
||||
+M0QrLYsiUIyiPbv8ZijvP+rZ+2H9F92vCt1A7xWFx+Zgt1nK5uIGr4x1YFi5MCz
|
||||
fbP3/1e83w+rhWbwd1aamfOisZLt3nfkjOHcrwufueXCNNAWJHqYGEGBAoGAXAJV
|
||||
Y4536+UnMEkFhuiEMhapb/tUvRB7hhiVxCLM5xy6TwvB87EphCLgRXg4ekyYbAq/
|
||||
nDaQr9zTjpY+IERpNdsbz4DVM3VJoDwcOy9Z10nsJSkOq/e8QiBWqtqC/zkh4wyv
|
||||
gCrjH3yb/aNGxnkn9FjipPrDpsu+B5xILgrvXr0CgYEAjO63m7ReluoYR3C4gcuy
|
||||
Gt1Ey+DFnvqmCK7NhMWKXTb1E6cxRWWYZCI3djNcCcsWO1U2yGXaALIEnlaJTbIx
|
||||
JHyKApxlq6a3fi/BSOFjOpznKtm2DJMk7TSI3avHkYzjcfpD2Cnvb1OWw1WX0y+H
|
||||
1kXxn9ReB+kO8tGv1cH9Oh4=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzPsTe7In5vmUEgZNbcw
|
||||
gmCM4Jav7fG0QfFyJJALT4vEx7kohhXVsS9p7biJaE4iRcaibldgPdZLMV8CmR3e
|
||||
RbtRVo8wmlpvVyNUdKAugikEmax8o82RAh+NcEhiM6NyEZA71edsRYBWNobGZbTc
|
||||
CiXTVFluBGKuzkt3ZRFQqfy8t0rE2gtq02hqQJnjg4eIGE3nsseN97uPU9EnBYk5
|
||||
zfWeXVA1NZnmG21ahvESXYqRX2l+N4LXjRZ7Xiyc/tpOJu0Ta9C/HsVV1I6on0wj
|
||||
wAgt7iwEnkcmUh0jTCDUDJply1+9nH5Cz+iDG1s2Bs3iDrorg2xS1CwnWqUrqB/D
|
||||
jQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,20 @@
|
||||
version: 1.0
|
||||
description: CASAN Level 5 drift detection policy
|
||||
|
||||
golden_dir: .specify/level5/golden-runs
|
||||
evidence_dir: docs/output/casan/level5-evidence
|
||||
|
||||
thresholds:
|
||||
minimum_similarity: 0.85
|
||||
maximum_length_delta_ratio: 0.30
|
||||
|
||||
actions:
|
||||
pass: allow
|
||||
warn: require_review
|
||||
fail: block_or_fallback
|
||||
|
||||
metrics:
|
||||
- similarity_ratio
|
||||
- length_delta_ratio
|
||||
- golden_hash
|
||||
- candidate_hash
|
||||
@@ -0,0 +1,7 @@
|
||||
Generate a safe OKR plan for employee ***MASKED_EMAIL***.
|
||||
Expected sections:
|
||||
- Objective
|
||||
- Key Results
|
||||
- Security gate
|
||||
- Governance decision
|
||||
- AgentOps metrics
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"package": "fpt-casan-sdd-harness",
|
||||
"version": "1.0.0",
|
||||
"capabilities": [
|
||||
"H4-security",
|
||||
"H5-governance",
|
||||
"H6-agentops",
|
||||
"L5-drift-detection",
|
||||
"L5-model-fallback",
|
||||
"L5-tool-registry",
|
||||
"L5-rollback",
|
||||
"L5-business-feedback"
|
||||
],
|
||||
"compatibility": {
|
||||
"speckit": ">=1.0.0",
|
||||
"shell": "bash",
|
||||
"python": ">=3.9"
|
||||
},
|
||||
"entrypoints": {
|
||||
"wrapper": ".specify/scripts/bash/casan-harness.sh",
|
||||
"test": ".specify/tests/run-casan4-harness-tests.sh",
|
||||
"dashboard": "docs/output/casan/agentops-dashboard.html"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
version: 1.0
|
||||
description: CASAN Level 5 business KPI feedback schema
|
||||
|
||||
kpis:
|
||||
- id: cycle_time_minutes
|
||||
direction: lower_is_better
|
||||
baseline: 180
|
||||
target: 90
|
||||
|
||||
- id: review_rejection_rate
|
||||
direction: lower_is_better
|
||||
baseline: 0.30
|
||||
target: 0.10
|
||||
|
||||
- id: defect_leakage_rate
|
||||
direction: lower_is_better
|
||||
baseline: 0.15
|
||||
target: 0.05
|
||||
|
||||
- id: manual_rework_hours
|
||||
direction: lower_is_better
|
||||
baseline: 12
|
||||
target: 4
|
||||
|
||||
evidence:
|
||||
input: docs/output/casan/level5-evidence/business-kpi-input.json
|
||||
output: docs/output/casan/level5-evidence/business-kpi-report.json
|
||||
@@ -0,0 +1,33 @@
|
||||
version: 1.0
|
||||
description: CASAN Level 5 model/tool fallback policy
|
||||
|
||||
routes:
|
||||
- step_pattern: "review|test|security"
|
||||
primary: primary-model
|
||||
fallback: verifier-model
|
||||
max_attempts: 2
|
||||
fallback_on:
|
||||
- nonzero_exit
|
||||
- empty_output
|
||||
- timeout
|
||||
|
||||
- step_pattern: "implement|write_code|deploy"
|
||||
primary: primary-model
|
||||
fallback: conservative-model
|
||||
max_attempts: 1
|
||||
fallback_on:
|
||||
- nonzero_exit
|
||||
- policy_reject
|
||||
governance_required: true
|
||||
|
||||
default_route:
|
||||
primary: primary-model
|
||||
fallback: fallback-model
|
||||
max_attempts: 2
|
||||
fallback_on:
|
||||
- nonzero_exit
|
||||
- empty_output
|
||||
|
||||
evidence:
|
||||
trace_dir: .specify/logs/trace
|
||||
fallback_log: .specify/logs/level5/fallback.jsonl
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"registry": "fpt-casan-harness-adoption",
|
||||
"projects": [
|
||||
{
|
||||
"project_id": "AINative_OKR_CASAN4",
|
||||
"domain": "SDD OKR",
|
||||
"harness_package": "fpt-casan-sdd-harness",
|
||||
"harness_version": "1.0.0",
|
||||
"status": "active"
|
||||
},
|
||||
{
|
||||
"project_id": "CASAN_DEMO_PROJECT_A",
|
||||
"domain": "Demo SDLC",
|
||||
"harness_package": "fpt-casan-sdd-harness",
|
||||
"harness_version": "1.0.0",
|
||||
"status": "registered"
|
||||
},
|
||||
{
|
||||
"project_id": "CASAN_DEMO_PROJECT_B",
|
||||
"domain": "Demo QA",
|
||||
"harness_package": "fpt-casan-sdd-harness",
|
||||
"harness_version": "1.0.0",
|
||||
"status": "registered"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"provider": "sample-provider",
|
||||
"model": "sample-model-large",
|
||||
"run_id": "provider-run-001",
|
||||
"step": "speckit.implement",
|
||||
"input_tokens": 1842,
|
||||
"output_tokens": 936,
|
||||
"total_tokens": 2778,
|
||||
"cost_usd": 0.08334,
|
||||
"latency_ms": 4210,
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
version: 1.0
|
||||
description: CASAN Level 5 tool registry with ownership, schema, risk, idempotency, and rollback metadata
|
||||
|
||||
tools:
|
||||
- id: agent_step
|
||||
owner: ai-platform
|
||||
risk_level: low
|
||||
side_effect: false
|
||||
idempotency_required: false
|
||||
timeout_seconds: 600
|
||||
|
||||
- id: write_code
|
||||
owner: engineering
|
||||
risk_level: high
|
||||
side_effect: true
|
||||
idempotency_required: true
|
||||
timeout_seconds: 900
|
||||
allowed_agents: "boss,implement-agent"
|
||||
rollback:
|
||||
strategy: git_patch_reverse
|
||||
script: .specify/scripts/bash/rollback-manager.sh
|
||||
|
||||
- id: migration
|
||||
owner: database-owner
|
||||
risk_level: high
|
||||
side_effect: true
|
||||
idempotency_required: true
|
||||
timeout_seconds: 900
|
||||
allowed_agents: "boss,implement-agent"
|
||||
rollback:
|
||||
strategy: migration_down_or_restore
|
||||
script: .specify/scripts/bash/rollback-manager.sh
|
||||
|
||||
- id: deploy
|
||||
owner: release-manager
|
||||
risk_level: high
|
||||
side_effect: true
|
||||
idempotency_required: true
|
||||
timeout_seconds: 1200
|
||||
rate_limit_per_run: 2
|
||||
allowed_agents: "boss,release-manager"
|
||||
rollback:
|
||||
strategy: previous_release
|
||||
script: .specify/scripts/bash/rollback-manager.sh
|
||||
|
||||
- id: external_api
|
||||
owner: platform-team
|
||||
risk_level: medium
|
||||
side_effect: true
|
||||
idempotency_required: true
|
||||
timeout_seconds: 120
|
||||
allowed_agents: "boss,implement-agent"
|
||||
rollback:
|
||||
strategy: compensating_request
|
||||
script: .specify/scripts/bash/rollback-manager.sh
|
||||
|
||||
- id: db_write
|
||||
owner: database-owner
|
||||
risk_level: high
|
||||
side_effect: true
|
||||
idempotency_required: true
|
||||
timeout_seconds: 300
|
||||
allowed_agents: "boss,implement-agent"
|
||||
rollback:
|
||||
strategy: restore_from_backup
|
||||
script: .specify/scripts/powershell/rollback-manager.ps1
|
||||
|
||||
- id: write_file
|
||||
owner: engineering
|
||||
risk_level: medium
|
||||
side_effect: true
|
||||
idempotency_required: false
|
||||
timeout_seconds: 60
|
||||
allowed_agents: "boss,implement-agent,design-agent"
|
||||
rollback:
|
||||
strategy: delete_or_restore
|
||||
script: .specify/scripts/bash/rollback-manager.sh
|
||||
|
||||
level5_gate:
|
||||
required_fields:
|
||||
- id
|
||||
- owner
|
||||
- risk_level
|
||||
- side_effect
|
||||
- idempotency_required
|
||||
- timeout_seconds
|
||||
side_effecting_tools_require:
|
||||
- idempotency_key
|
||||
- audit_record
|
||||
- rollback_strategy
|
||||
Reference in New Issue
Block a user