sqlite-web 0.7.2
gitea.db
action_run
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
Update row 23490 in action_run
id
Primary key.
INTEGER NOT NULL
title
chore(reports): 刷新治理证据,绑定提交 b0d8e83
TEXT
repo_id
INTEGER
owner_id
INTEGER
workflow_id
governance.yml
TEXT
index
INTEGER
trigger_user_id
INTEGER
schedule_id
INTEGER
ref
refs/heads/main
TEXT
commit_sha
6b3be1dafc25b3d82703595f7542769eae6b7744
TEXT
is_fork_pull_request
INTEGER
need_approval
INTEGER
approved_by
INTEGER
event
push
TEXT
event_payload
{"ref":"refs/heads/main","before":"66f0513cfb65a0eb27fe77ff8b5bd158c0901623","after":"6b3be1dafc25b3d82703595f7542769eae6b7744","compare_url":"https://gitea.g-hi.com/luoanwu/haimate/compare/66f0513cfb65a0eb27fe77ff8b5bd158c0901623...6b3be1dafc25b3d82703595f7542769eae6b7744","commits":[{"id":"6b3be1dafc25b3d82703595f7542769eae6b7744","message":"chore(reports): 刷新治理证据,绑定提交 b0d8e83\n\n三级门禁在 b0d8e83 上重跑后的报告:\n- pnpm check exit 0(16 项静态门禁)\n- check:runtime passed:380 tests / 0 failures\n- check:ui passed:14 用例 / 0 失败\n\n诚实标注:provenance 的 worktreeDirty 仍为 true。原因不是本提交遗漏了文件,\n而是**同一工作区存在并发会话**,其在制品(CLAUDE.md、两端 approval-tickets.service、\nweb/src/lib/types.ts、check-order-concurrency-guard.mjs、check-owner-matrix.mjs)\n在重跑期间处于未提交状态,已刻意不纳入本提交。\n\n因此本组报告只能宣称「本地工作区(含上述并发在制品)在 2026-08-17 通过三级门禁」,\n不得外推为 clean checkout 通过、远端已发布或 CI 已拦截。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/6b3be1dafc25b3d82703595f7542769eae6b7744","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:16:17-07:00","added":["reports/outbox-lease.latest.json","reports/partner-truth.latest.json","reports/security-boundary.latest.json"],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/owner-matrix.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"b0d8e837396f6e0f15c0ceeb46b236f14f40f5c9","message":"feat: 合并提交长期未落库的批次——Finance Phase A、安全边界、outbox 租约与 crew 雇佣纵切\n\n本次是一次「补提交」:工作区此前累积了大量从未进入任何提交的成果,\n其中包含三个只存在于本地的门禁脚本(partner-truth / security-boundary /\noutbox-lease),clean checkout 根本跑不出当前的治理结论。一并落库。\n\n主要内容\n- Finance 对账 Phase A:12 个 model、双后端服务与 worker、/finance 工作面与 e2e\n- 应用安全边界(C21):显式 demo/signed 分界、principal 取 tenant/actor、\n 治理动作 RBAC、支付 webhook raw-body HMAC\n- Outbox 多实例租约(C22):CTE + FOR UPDATE SKIP LOCKED 原子领取、行锁 fencing、\n 租约过期崩溃恢复\n- crew 雇佣纵切(L7,新):crewEngagementMachine 落 contracts 单源,双后端对等写链\n (updateMany + stage/version 双前置条件,0 行即 409),两端迁移逐字一致,\n /team 的 employment 由写死的 UNKNOWN 变为 crew_engagements 真实阶段\n- 新门禁:check:partner-truth / check:security-boundary / check:outbox-lease /\n check:owner-matrix,并把 crew 写链接入 check:concurrency-guard(20→22 条)\n- a11y 与 Tailwind token 修复及其静默失效门禁\n\ncrew 纵切的两个设计要点\n- 无行即未雇佣,不设 NOT_HIRED 状态(与 TrustState 缺行=UNCONFIGURED 同构)\n- 实习期强制人审、转正后才准进入信任爬坡放行:商业分层直接就是授权分层,\n 实习期本质上是在攒 approval.decided 样本,转正把信任兑现为自治\n- PLANNED 的 SKU 不可雇佣,避免造出「实习中却没有任何工作面」的假雇佣事实\n\n验收(本地 dirty 工作区,2026-08-17;不得外推为远端已发布或生产就绪)\n- pnpm check exit 0(16 项静态门禁;新增并发写链守卫已做负向测试,确认会红)\n- check:runtime passed:380 tests / 0 failures(地板 355→380)\n- check:ui passed:14 用例 / 0 失败(地板 13→14)\n\n按 CLAUDE.md 提交纪律,baseline.json 的地板与支撑它的测试文件在同一提交内。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/b0d8e837396f6e0f15c0ceeb46b236f14f40f5c9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:09:30-07:00","added":["apps/api-fastify/prisma/migrations/20260814233000_add_finance_reconciliation_phase_a/migration.sql","apps/api-fastify/prisma/migrations/20260815033000_add_outbox_dispatch_leases/migration.sql","apps/api-fastify/prisma/migrations/20260817090000_add_crew_engagement/migration.sql","apps/api-fastify/src/modules/crew/crew.service.ts","apps/api-fastify/src/modules/finance/errors.ts","apps/api-fastify/src/modules/finance/finance-jobs.service.ts","apps/api-fastify/src/modules/finance/finance-jobs.types.ts","apps/api-fastify/src/modules/finance/finance-json.ts","apps/api-fastify/src/modules/finance/finance-payment-transaction.ts","apps/api-fastify/src/modules/finance/finance-sweep.service.ts","apps/api-fastify/src/modules/finance/finance-transaction.ts","apps/api-fastify/src/modules/finance/finance.service.ts","apps/api-fastify/src/modules/finance/integrity.ts","apps/api-fastify/src/modules/security.ts","apps/api-fastify/src/plugins/finance-workers.ts","apps/api-fastify/src/routes/crew.ts","apps/api-fastify/src/routes/finance.ts","apps/api-fastify/test/crew.integration.test.ts","apps/api-fastify/test/finance-workers.integration.test.ts","apps/api-fastify/test/finance.integration.test.ts","apps/api-fastify/test/security.http.test.ts","apps/api-nestjs/prisma/migrations/20260814233000_add_finance_reconciliation_phase_a/migration.sql","apps/api-nestjs/prisma/migrations/20260815033000_add_outbox_dispatch_leases/migration.sql","apps/api-nestjs/prisma/migrations/20260817090000_add_crew_engagement/migration.sql","apps/api-nestjs/src/common/security/security.decorators.ts","apps/api-nestjs/src/common/security/security.guard.ts","apps/api-nestjs/src/common/security/security.module.ts","apps/api-nestjs/src/common/security/security.service.ts","apps/api-nestjs/src/crew/crew.controller.ts","apps/api-nestjs/src/crew/crew.module.ts","apps/api-nestjs/src/crew/crew.service.ts","apps/api-nestjs/src/finance/finance-jobs.service.ts","apps/api-nestjs/src/finance/finance-jobs.types.ts","apps/api-nestjs/src/finance/finance-json.ts","apps/api-nestjs/src/finance/finance-payment-transaction.ts","apps/api-nestjs/src/finance/finance-reconciliation.processor.ts","apps/api-nestjs/src/finance/finance-sweep.service.ts","apps/api-nestjs/src/finance/finance-transaction.ts","apps/api-nestjs/src/finance/finance-worker-lifecycle.ts","apps/api-nestjs/src/finance/finance.controller.ts","apps/api-nestjs/src/finance/finance.module.ts","apps/api-nestjs/src/finance/finance.service.ts","apps/api-nestjs/test/crew.integration.test.ts","apps/api-nestjs/test/finance-workers.integration.test.ts","apps/api-nestjs/test/finance.http.test.ts","apps/api-nestjs/test/finance.integration.test.ts","apps/api-nestjs/test/security.http.test.ts","apps/web/e2e/finance-p0.spec.ts","apps/web/public/haimate-mark.png","apps/web/src/app/finance/page.tsx","apps/web/src/app/team/page.tsx","apps/web/src/features/finance/api/finance-api.ts","apps/web/src/features/finance/components/FinanceCoveragePanel.tsx","apps/web/src/features/finance/components/FinanceDailyReportPanel.tsx","apps/web/src/features/finance/components/FinanceImportPanel.tsx","apps/web/src/features/finance/components/FinanceWorkspace.tsx","apps/web/src/features/finance/components/ReconciliationCasesPanel.tsx","apps/web/src/features/finance/components/ReconciliationPanel.tsx","apps/web/src/features/finance/components/finance-presenters.tsx","apps/web/src/features/finance/hooks/use-finance.ts","apps/web/src/features/finance/types/index.ts","apps/web/src/features/team/api/team-api.ts","apps/web/src/features/team/components/ConversationWorkspace.tsx","apps/web/src/features/team/components/EmployeeRoster.tsx","apps/web/src/features/team/components/EngagementPanel.tsx","apps/web/src/features/team/components/SecondaryEmployeePanel.tsx","apps/web/src/features/team/components/TeamInsights.tsx","apps/web/src/features/team/hooks/use-team-workspace.ts","apps/web/src/features/team/lib/presenters.ts","apps/web/src/features/team/types.ts","design-qa.md","docs/adr/0011-explicit-demo-and-signed-application-security.md","docs/domain/crew-substrate-blueprint.md","packages/contracts/dist/crew.d.ts","packages/contracts/dist/crew.d.ts.map","packages/contracts/dist/crew.js","packages/contracts/dist/crew.js.map","packages/contracts/dist/finance.d.ts","packages/contracts/dist/finance.d.ts.map","packages/contracts/dist/finance.js","packages/contracts/dist/finance.js.map","packages/contracts/dist/security.d.ts","packages/contracts/dist/security.d.ts.map","packages/contracts/dist/security.js","packages/contracts/dist/security.js.map","packages/contracts/src/finance.test.ts","packages/contracts/src/finance.ts","packages/contracts/src/security.test.ts","packages/contracts/src/security.ts","reports/design-qa/haimate-team-comparison-final.png","reports/design-qa/haimate-team-final-1440x1024.jpg","reports/design-qa/haimate-team-mobile-390x844.jpg","reports/design-qa/haimate-team-workspace-comparison-final.png","reports/owner-matrix.latest.json","scripts/check-outbox-lease.mjs","scripts/check-owner-matrix.mjs","scripts/check-partner-truth.mjs","scripts/check-security-boundary.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/bookings/booking-transaction.ts","apps/api-fastify/src/modules/bookings/bookings.service.ts","apps/api-fastify/src/modules/conversations/booking-effects.service.ts","apps/api-fastify/src/modules/conversations/conversation-transaction.ts","apps/api-fastify/src/modules/conversations/conversations.service.ts","apps/api-fastify/src/modules/conversations/room-unavailable.consumer.ts","apps/api-fastify/src/modules/payments/payments.service.ts","apps/api-fastify/src/modules/platform/approval-ticket-transaction.ts","apps/api-fastify/src/modules/platform/approval-tickets.service.ts","apps/api-fastify/src/modules/platform/http-support.ts","apps/api-fastify/src/modules/platform/knowledge.service.ts","apps/api-fastify/src/modules/platform/tool-gateway.service.ts","apps/api-fastify/src/modules/platform/trust.service.ts","apps/api-fastify/src/modules/ports/availability.service.ts","apps/api-fastify/src/modules/ports/payment.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/routes/approval-tickets.ts","apps/api-fastify/src/routes/bookings.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/src/routes/payments.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/trust.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/booking.http.test.ts","apps/api-fastify/test/booking.integration.test.ts","apps/api-fastify/test/booking.workers.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/platform.http.test.ts","apps/api-fastify/test/platform.integration.test.ts","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/availability/availability.service.ts","apps/api-nestjs/src/bookings/booking-transaction.ts","apps/api-nestjs/src/bookings/bookings.controller.ts","apps/api-nestjs/src/bookings/bookings.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/conversations/booking-effects.processor.ts","apps/api-nestjs/src/conversations/conversation-transaction.ts","apps/api-nestjs/src/conversations/conversations.controller.ts","apps/api-nestjs/src/conversations/conversations.service.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/payments/payment-port.service.ts","apps/api-nestjs/src/payments/payments.controller.ts","apps/api-nestjs/src/payments/payments.module.ts","apps/api-nestjs/src/payments/payments.service.ts","apps/api-nestjs/src/platform/approval-ticket-transaction.ts","apps/api-nestjs/src/platform/approval-tickets.controller.ts","apps/api-nestjs/src/platform/approval-tickets.service.ts","apps/api-nestjs/src/platform/knowledge.controller.ts","apps/api-nestjs/src/platform/knowledge.service.ts","apps/api-nestjs/src/platform/tool-gateway.controller.ts","apps/api-nestjs/src/platform/tool-gateway.service.ts","apps/api-nestjs/src/platform/tools.controller.ts","apps/api-nestjs/src/platform/trust.controller.ts","apps/api-nestjs/src/platform/trust.service.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/booking.http.test.ts","apps/api-nestjs/test/booking.integration.test.ts","apps/api-nestjs/test/booking.workers.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/platform-workers.integration.test.ts","apps/api-nestjs/test/platform.http.test.ts","apps/api-nestjs/test/platform.integration.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/e2e/haimate-p0.spec.ts","apps/web/e2e/realtime-store.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/ApprovalsPanel.tsx","apps/web/src/components/BookingsPanel.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/ToolCallsPanel.tsx","apps/web/src/features/team/components/TeamLedgerBoard.tsx","apps/web/src/features/team/components/TeamWorkspace.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","docs/adr/0010-finance-money-source-completeness-and-event-identity.md","docs/adr/README.md","docs/domain/booking-reception-blueprint.md","docs/domain/finance-reconciliation-blueprint.md","docs/domain/haimate-p0-grill-alignment.md","docs/domain/owner-matrix.md","docs/domain/platform-core-blueprint.md","docs/governance-experience.md","docs/product/haimate-pricing-and-gtm.md","docs/product/haimate-strategy-corpus.md","package.json","packages/contracts/dist/approval.d.ts","packages/contracts/dist/approval.d.ts.map","packages/contracts/dist/approval.js","packages/contracts/dist/approval.js.map","packages/contracts/dist/booking.d.ts","packages/contracts/dist/booking.d.ts.map","packages/contracts/dist/booking.js","packages/contracts/dist/booking.js.map","packages/contracts/dist/conversation.d.ts","packages/contracts/dist/index.d.ts","packages/contracts/dist/index.d.ts.map","packages/contracts/dist/index.js","packages/contracts/dist/index.js.map","packages/contracts/dist/money.d.ts","packages/contracts/dist/money.d.ts.map","packages/contracts/dist/money.js","packages/contracts/dist/money.js.map","packages/contracts/dist/ports.d.ts","packages/contracts/dist/ports.d.ts.map","packages/contracts/dist/ports.js.map","packages/contracts/dist/quote.d.ts","packages/contracts/dist/quote.d.ts.map","packages/contracts/dist/quote.js","packages/contracts/dist/quote.js.map","packages/contracts/dist/realtime.d.ts","packages/contracts/dist/realtime.d.ts.map","packages/contracts/dist/realtime.js","packages/contracts/dist/realtime.js.map","packages/contracts/dist/tenant.d.ts","packages/contracts/dist/tenant.d.ts.map","packages/contracts/dist/tenant.js","packages/contracts/dist/tenant.js.map","packages/contracts/dist/tool.d.ts","packages/contracts/dist/tool.d.ts.map","packages/contracts/dist/tool.js","packages/contracts/dist/tool.js.map","packages/contracts/src/approval.ts","packages/contracts/src/booking.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/crew.test.ts","packages/contracts/src/crew.ts","packages/contracts/src/haimate-contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/money.ts","packages/contracts/src/ports.ts","packages/contracts/src/quote.ts","packages/contracts/src/realtime.ts","packages/contracts/src/tenant.ts","packages/contracts/src/tool.ts","pnpm-lock.yaml","reports/baseline.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","turbo.json"]},{"id":"44fed27603c1bd264192d1ce05016c1cd5b1c8ea","message":"fix(a11y): 修复侧栏隐形导航 + 颜色 token 全面达标 AA,并新增 Tailwind 静默失效门禁\n\n根因:Tailwind 颜色类透明度修饰符只有落在预设刻度(5 的倍数)或方括号任意值\n才生成 CSS。侧栏写 text-white/68 属死类,文字回退继承 --hm-ink 压在深蓝\n--hm-nav 上,实测对比度 1.02——导航区在浏览器里等于隐形,而 TypeScript\n与 ESLint 均不报,只有量计算样式才暴露。\n\n- 侧栏 6 处非法透明度(/38 /58 /68 /78)改为合法刻度,导航项对比度 1.02 → 5.18~17.64,6/6 达标\n- 全站实测 187 个文本节点原有 45 处不达 AA,根因集中在 token 自身取值偏浅;\n 按 token 层修复(text-tertiary/warning/success/danger/ai),每个新值在白底与\n 各自浅色底双双达标才采用,注释写进 globals.css。结果 45 → 0\n- 新增 check:tailwind-tokens 绊网并接入 pnpm check 与棘轮(地板 0);\n 负向测试已验证:注入 text-white/68 即 exit 1,恢复即 exit 0\n- 团队总览按用户拍板退回外壳设计语言(--hm-* / 12px 圆角 / 无衬线),\n 补回此前被重构弄丢的「昨天那一页」与雇佣价目,触控目标统一 44px\n- 花名册单源 contracts CREW_ROSTER + deriveCrewStatus(计费跳档将复用同一口径)\n- e2e 重写为一条覆盖全模块的用例(旧两条因 testid 重命名已失效)\n- CLAUDE.md 基线表 + 治理经验库 ⑬ 回灌\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/44fed27603c1bd264192d1ce05016c1cd5b1c8ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-14T19:18:43-07:00","added":["apps/web/src/components/layout/HaiMateShell.tsx","apps/web/src/features/team/components/TeamLedgerBoard.tsx","apps/web/src/features/team/components/TeamWorkspace.tsx","packages/contracts/src/crew.test.ts","packages/contracts/src/crew.ts","reports/tailwind-tokens.latest.json","scripts/check-tailwind-tokens.mjs"],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/haimate-p0.spec.ts","apps/web/src/app/globals.css","docs/governance-experience.md","package.json","packages/contracts/src/index.ts","reports/baseline.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"6b3be1dafc25b3d82703595f7542769eae6b7744","message":"chore(reports): 刷新治理证据,绑定提交 b0d8e83\n\n三级门禁在 b0d8e83 上重跑后的报告:\n- pnpm check exit 0(16 项静态门禁)\n- check:runtime passed:380 tests / 0 failures\n- check:ui passed:14 用例 / 0 失败\n\n诚实标注:provenance 的 worktreeDirty 仍为 true。原因不是本提交遗漏了文件,\n而是**同一工作区存在并发会话**,其在制品(CLAUDE.md、两端 approval-tickets.service、\nweb/src/lib/types.ts、check-order-concurrency-guard.mjs、check-owner-matrix.mjs)\n在重跑期间处于未提交状态,已刻意不纳入本提交。\n\n因此本组报告只能宣称「本地工作区(含上述并发在制品)在 2026-08-17 通过三级门禁」,\n不得外推为 clean checkout 通过、远端已发布或 CI 已拦截。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/6b3be1dafc25b3d82703595f7542769eae6b7744","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:16:17-07:00","added":["reports/outbox-lease.latest.json","reports/partner-truth.latest.json","reports/security-boundary.latest.json"],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/owner-matrix.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":74,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"haimate","full_name":"luoanwu/haimate","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1121,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate/languages","html_url":"https://gitea.g-hi.com/luoanwu/haimate","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haimate.git","clone_url":"https://gitea.g-hi.com/luoanwu/haimate.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-15T06:22:30+08:00","updated_at":"2026-08-15T07:09:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}
TEXT
trigger_event
push
TEXT
status
INTEGER
version
INTEGER (default 0
started
INTEGER
stopped
INTEGER
previous_duration
INTEGER
created
INTEGER
updated
INTEGER
raw_concurrency
group: governance-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: "true"
TEXT
concurrency_group
governance-governance.yml-refs/heads/main
TEXT NOT NULL (default ''
concurrency_cancel
INTEGER NOT NULL (default FALSE
Update
Cancel