sqlite-web 0.7.2
gitea.db
action_run_job
Create
Query
access
access_token
action
action_artifact
action_run
action_run_index
action_run_job
action_runner
action_runner_token
action_schedule
action_schedule_spec
action_task
action_task_output
action_task_step
action_tasks_version
action_variable
app_state
attachment
auth_token
badge
branch
collaboration
comment
commit_status
commit_status_index
commit_status_summary
commit_sync_log
commit_sync_status
dbfs_data
dbfs_meta
deploy_key
email_address
email_hash
external_login_user
follow
gpg_key
gpg_key_import
hook_task
issue
issue_assignees
issue_content_history
issue_dependency
issue_index
issue_label
issue_pin
issue_user
issue_watch
label
language_stat
lfs_lock
lfs_meta_object
login_source
milestone
mirror
notice
notification
oauth2_application
oauth2_authorization_code
oauth2_grant
org_user
package
package_blob
package_blob_upload
package_cleanup_rule
package_file
package_property
package_version
project
project_board
project_issue
protected_branch
protected_tag
public_key
pull_auto_merge
pull_request
push_mirror
reaction
release
renamed_branch
repo_archiver
repo_hidden_file
repo_indexer_status
repo_license
repo_redirect
repo_topic
repo_transfer
repo_unit
repository
review
review_state
secret
session
sqlite_sequence
star
stopwatch
system_setting
task
team
team_invite
team_repo
team_unit
team_user
topic
tracked_time
two_factor
upload
user
user_badge
user_blocking
user_open_id
user_redirect
user_setting
version
watch
webauthn_credential
webhook
Toggle helper tables
Structure
Content
Query
Insert
Drop
Import
Export
Delete row 29470 from action_run_job
id
29470
run_id
22432
repo_id
6
owner_id
5
commit_sha
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
is_fork_pull_request
0
name
Governance Audit (H+C+M=0 gate)
attempt
0
workflow_payload
name: CI "on": push: branches:
name: CI "on": push: branches: [main] pull_request: branches: [main] env: NODE_VERSION: "20" PNPM_VERSION: "9" jobs: governance-audit: name: Governance Audit (H+C+M=0 gate) runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: ${{ env.PNPM_VERSION }} - uses: actions/setup-node@v4 with: cache: pnpm node-version: ${{ env.NODE_VERSION }} - run: pnpm install --frozen-lockfile - name: Generate Prisma Client run: pnpm -C backend exec prisma generate - name: Build shared package run: pnpm -C shared run build - name: Audit Prisma↔Zod 契约 run: pnpm -C backend run audit:prisma-zod-contract continue-on-error: true - name: Audit FormRules↔Zod run: pnpm run audit:formrules-zod continue-on-error: true - name: Audit Response Columns run: pnpm run audit:response-columns continue-on-error: true - name: Audit Field Payload run: pnpm run audit:field-payload continue-on-error: true - name: Audit Enum Consistency run: pnpm run audit:enum-consistency continue-on-error: true - name: Audit useListPage ↔ Router run: pnpm run audit:list-page-routes continue-on-error: true - name: Audit Page AI Assist Coverage run: pnpm run audit:ai-assist-coverage continue-on-error: true - name: Audit Page AI Assist Skill Binding run: pnpm run audit:ai-assist-skill-binding continue-on-error: true - name: Audit Page AI Assist Context Providers run: pnpm run audit:context-provider-redact continue-on-error: true - name: Harness Report 聚合 run: pnpm harness report --save continue-on-error: true - if: always() name: Upload audit reports uses: actions/upload-artifact@v4 with: name: governance-audit-reports path: | reports/prisma-zod-contract-audit.latest.json reports/formrules-zod-audit.latest.json reports/response-columns-audit.latest.json reports/field-payload-audit.latest.json reports/enum-consistency-audit.latest.json reports/list-page-routes-audit.latest.json reports/ai-assist-coverage.latest.json reports/ai-assist-skill-binding.latest.json reports/ai-assist-context-providers.latest.json reports/harness-dashboard.latest.json reports/module-grades.latest.json retention-days: "14" - if: always() name: 输出 governance summary run: | if [ -f reports/harness-dashboard.latest.json ]; then node -e " const d = require('./reports/harness-dashboard.latest.json'); const s = d.summary || {}; const lines = [ '## Governance Audit Summary', '', '| Severity | Count |', '|---|---|', \`| CRITICAL | \${s.critical ?? 0} |\`, \`| HIGH | \${s.high ?? 0} |\`, \`| MEDIUM | \${s.medium ?? 0} |\`, \`| LOW | \${s.low ?? 0} |\`, \`| INFO | \${s.info ?? 0} |\`, '', \`- 总 finding: \${s.total ?? 0}\`, \`- 涉及模块: \${s.modulesAffected ?? 0}\`, \`- 审计执行: \${s.auditsRun ?? 0}\`, \`- 审计 missing: \${s.reportsMissing ?? 0}\`, \`- 审计 stale (>7d): \${s.reportsStale ?? 0}\`, \`- 审计 invalid: \${s.reportsInvalid ?? 0}\`, '', '**门禁规则:HIGH+CRITICAL+MEDIUM 必须为 0,且 reportsMissing/Stale/Invalid 必须为 0。**', '**2026-05-08 终态基线锁固:任何新增 MEDIUM/HIGH/CRITICAL 一律阻塞 PR 合并。**', ]; require('fs').appendFileSync(process.env.GITHUB_STEP_SUMMARY, lines.join('\n') + '\n'); " else echo '⚠️ harness-dashboard.latest.json 未生成,治理门禁判定失败' >> $GITHUB_STEP_SUMMARY fi - name: 校验 HIGH+CRITICAL+MEDIUM=0 与 dashboard 自检 run: | if [ ! -f reports/harness-dashboard.latest.json ]; then echo "::error::治理门禁失败:harness-dashboard 未生成" exit 1 fi node -e " const d = require('./reports/harness-dashboard.latest.json'); const s = d.summary || {}; const blockingSeverity = (s.high || 0) + (s.critical || 0) + (s.medium || 0); const blockingHealth = (s.reportsMissing || 0) + (s.reportsStale || 0) + (s.reportsInvalid || 0); const errors = []; if (blockingSeverity > 0) { errors.push('治理门禁失败:HIGH+CRITICAL+MEDIUM = ' + blockingSeverity + ',必须为 0'); errors.push(' CRITICAL=' + (s.critical||0) + ' HIGH=' + (s.high||0) + ' MEDIUM=' + (s.medium||0)); } if (blockingHealth > 0) { errors.push('Dashboard 自检失败:reportsMissing=' + (s.reportsMissing||0) + ' Stale=' + (s.reportsStale||0) + ' Invalid=' + (s.reportsInvalid||0) + ',必须全为 0'); } if (errors.length) { for (const e of errors) console.error('::error::' + e); console.error('详见 governance-audit-reports artifact 中的 harness-dashboard.latest.json'); process.exit(1); } console.log('治理门禁通过:H+C+M=0,47 audits 全跑、无 stale/missing/invalid'); " permissions: contents: read
...
job_id
governance-audit
needs
["lint-and-typecheck"]
runs_on
["ubuntu-latest"]
task_id
0
status
4
started
0
stopped
0
created
1778598487
updated
1778598540
raw_concurrency
is_concurrency_evaluated
1
concurrency_group
concurrency_cancel
0
Delete
Cancel