diff --git a/docs/refactor/GammaTeam_TaskSplit.html b/docs/refactor/GammaTeam_TaskSplit.html index 628b674..513eb87 100644 --- a/docs/refactor/GammaTeam_TaskSplit.html +++ b/docs/refactor/GammaTeam_TaskSplit.html @@ -178,6 +178,36 @@ .must li:last-child { margin-bottom: 0; } .must b { color: var(--ink); } + /* input / output từng người */ + .io { display: grid; gap: 18px; } + .iorow { background: var(--surface); border: 1px solid var(--line); + border-left: 3px solid var(--c); border-radius: 3px; overflow: hidden; } + .iorow.n1 { --c: var(--lead); --w: var(--lead-wash); } + .iorow.n2 { --c: var(--m1); --w: var(--m1-wash); } + .iorow.n3 { --c: var(--m2); --w: var(--m2-wash); } + .iohead { padding: 14px 20px; background: var(--w); display: flex; + align-items: baseline; gap: 12px; flex-wrap: wrap; } + .iohead b { color: var(--c); font-size: 15px; } + .iohead span { color: var(--muted); font-size: 13px; } + .iogrid { display: grid; grid-template-columns: 1fr 1fr; } + @media (max-width: 860px) { .iogrid { grid-template-columns: 1fr; } } + .iogrid > div { padding: 16px 20px; } + .iogrid > div + div { border-left: 1px solid var(--line); } + @media (max-width: 860px) { + .iogrid > div + div { border-left: none; border-top: 1px solid var(--line); } + } + .iocap { font-size: 11px; letter-spacing: .13em; text-transform: uppercase; + color: var(--muted); font-weight: 700; margin: 0 0 10px; } + .iolist { list-style: none; margin: 0; padding: 0; font-size: 13.5px; } + .iolist li { padding: 5px 0; border-bottom: 1px dotted var(--line); } + .iolist li:last-child { border-bottom: none; } + .iolist code { font-size: 12.5px; } + .frm { display: inline-block; font-size: 11px; font-weight: 700; padding: 1px 6px; + border-radius: 2px; background: var(--surface-2); color: var(--muted); + margin-right: 6px; font-family: Consolas, ui-monospace, monospace; } + .frm.done { background: var(--m1-wash); color: var(--m1); } + .frm.risk { background: var(--m2-wash); color: var(--m2); } + footer { margin-top: 64px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); } @@ -488,6 +518,117 @@ + +

Mỗi người nhận gì, giao gì

+

+ Cột trái là thứ phải có trong tay mới làm được, kèm nguồn. Cột phải là thứ bắt + buộc giao ra, kèm người nhận. Nhãn có rồi nghĩa là + mục chung đã làm xong. +

+ +
+ +
+
N1 · Cấu hình, Bí mật & Vỏnhóm trưởng
+
+
+

Input — cần có

+
    +
  • mã cũconfig.py 616 dòng
  • +
  • mã cũui/settings_dialog.py 727 dòng
  • +
  • mã cũapp.py 1.352 dòng
  • +
  • tự chốtQuyết định api_key — trước 26/08
  • +
  • từ N2Chữ ký build_monitoring_tab() — trước 28/08
  • +
  • từ N3Chữ ký build_co4e_tab() — trước 28/08
  • +
+
+
+

Output — phải giao

+
    +
  • có rồiSecretStore · ConfigRepository + fake → cho N2 và N3
  • +
  • có rồiscripts/audit_security.py → cho CI
  • +
  • infrastructure/persistence/json/atomic_json_file.py
  • +
  • infrastructure/config/ — cài đặt thật + settings facade
  • +
  • infrastructure/secrets/keyring_adapter.py
  • +
  • presentation/settings/ — 4 widget
  • +
  • bootstrap.py + presentation/shell/ — 3 file
  • +
  • docs/architecture/security-policy.md
  • +
+
+
+
+ +
+
N2 · Giám sátthành viên 1
+
+
+

Input — cần có

+
    +
  • mã cũui/monitoring_tab.py 1.545 dòng
  • +
  • mã cũcore/usage_tracker.py 524 · sandbox_manager.py 335
  • +
  • mã cũcore/model_pricing.py 284 · agent_security.py 272 · audit_log.py 115
  • +
  • từ N1FakeConfigRepository — dùng được ngay
  • +
  • tự chốtGiữ nguyên 9 trường log, báo Duy và Hoa
  • +
+
+
+

Output — phải giao

+
    +
  • build_monitoring_tab() → cho N1, trước 28/08
  • +
  • FakeAuditLogger · FakeMonitoringQueryService → cho cả team
  • +
  • presentation/monitoring/ — 7 tab + shell
  • +
  • application/monitoring/monitoring_query_service.py
  • +
  • infrastructure/telemetry/audit_logger.py
  • +
  • infrastructure/sandbox/sandbox_capabilities.py
  • +
  • 0 circular import ở pricing ↔ usage và security ↔ alert
  • +
+
+
+
+ +
+
N3 · Co4E Studiothành viên 2
+
+
+

Input — cần có

+
    +
  • mã cũui/co4e_tab.py 2.089 dòng
  • +
  • mã cũui/co4e_canvas.py 791 · co4e_config_panel.py
  • +
  • mã cũcore/co4e_run_manager.py 331
  • +
  • có sẵncore/co4e.py — dataclass Workflow/Node/Edge đã có
  • +
  • từ N1FakeConfigRepository
  • +
  • từ Team HoaDTO ToolPolicyGateway — rủi ro liên team cao nhất, lấy trong hôm nay
  • +
+
+
+

Output — phải giao

+
    +
  • build_co4e_tab() → cho N1, trước 28/08
  • +
  • FakeCo4EWorkflowService → cho cả team
  • +
  • domain/workflows/ — DTO chốt ngày đầu
  • +
  • application/workflows/co4e_workflow_service.py
  • +
  • presentation/co4e/ — 5 phần
  • +
+
+
+
+ +
+ +

Output bắt buộc với cả ba, mỗi PR

+
+ + + + + + + + + +
Điều kiệnNgưỡngTự kiểm bằng
File mới sau khi tách≤ 400 dòngwc -l
domain/ và application/ import PySide60grep -r PySide6
Test hiện có96 xanhpytest tests -q
Credential lộ0python scripts/audit_security.py
Checker UI trong phạm vi mình dờiđã cập nhậtpython tools/check_<tên>.py
+
+

Lịch từng ngày

Ba hàng chạy độc lập. Hàng tô nền là lúc cả ba phải gặp nhau.