docs: ai 协作文档体系重构与多 ai 仲裁结果落地

1.AI 协作文档体系重构(objections/worklines/contracts+matrix.md)

2.coord 仲裁文档(final-decisions/cross-review/final-rulings/orchestration)

3.各服务 01/02 文档补全

4.共享包初始化(shared-ts/shared-go/hooks/ui-components/ui-tokens)

5.Proto 契约补全

6.004 架构影响地图更新

7.端口分配表

8.设计规格文档
This commit is contained in:
SpecialX
2026-07-10 12:58:22 +08:00
parent 2a2a56f541
commit faaaf29f67
120 changed files with 23201 additions and 2 deletions

View File

@@ -0,0 +1,61 @@
import { useCallback, useState } from "react";
/**
* useTraceId - 当前会话 trace_id 管理
*
* 用途OpenTelemetry traceparent 透传,用于日志关联 + 链路追踪。
* ai13 新增(对齐 project_rules §12 可观测性规范)。
*
* @example
* const { traceId, setTraceId, withTraceId } = useTraceId();
* setTraceId("abc123");
* withTraceId(() => fetch("/api/v1/exams", { headers: { "X-Trace-Id": traceId } }));
*/
export interface UseTraceIdReturn {
/** 当前 trace_id */
traceId: string | null;
/** 设置 trace_id从响应头 X-Trace-Id 获取) */
setTraceId: (id: string) => void;
/** 清除 trace_id */
clear: () => void;
/**
* 在 trace_id 上下文中执行回调(自动注入 header
* 用于 fetch 包装
*/
withTraceId: <T>(
fn: (headers: Record<string, string>) => Promise<T>,
) => Promise<T>;
}
export function useTraceId(): UseTraceIdReturn {
const [traceId, setTraceIdState] = useState<string | null>(null);
const setTraceId = useCallback((id: string): void => {
setTraceIdState(id);
}, []);
const clear = useCallback((): void => {
setTraceIdState(null);
}, []);
const withTraceId = useCallback(
async <T>(
fn: (headers: Record<string, string>) => Promise<T>,
): Promise<T> => {
const headers: Record<string, string> = {};
if (traceId) {
headers["X-Trace-Id"] = traceId;
}
return fn(headers);
},
[traceId],
);
return {
traceId,
setTraceId,
clear,
withTraceId,
};
}