Files
cowork-local/docs/architecture/co4e-split-map-node-property.json
T
f9f6bc01fd
CI / test (push) Canceled after 0s
Feature/delta team/epic r04 (#7)
## Summary

epic r04 - begin refactor

## Change Type

- [x] Cowork feature
- [ ] Bug fix
- [ ] Core AI contribution
- [ ] Test / hardening
- [ ] Performance
- [ ] Documentation

## Related Work

Cowork Task:

Core Repo: http://34.143.229.138/gitea-admin/fsg-ai-core-assets

Core AI Issue:

Core Task:

Related PR:

## Scope

What is intentionally included?

What is intentionally NOT included?

## Validation

- [ ] Unit tests
- [ ] Integration tests
- [ ] Manual verification
- [ ] Regression check

Commands / evidence:

## Security Impact

Permission / credential / network / customer data impact:

## Compatibility

- [ ] No breaking change
- [ ] Breaking change documented

## Reviewer Notes

Anything Cowork reviewers should pay attention to.

---------

Co-authored-by: Anh Tran Nguyen Minh <anhtnm1@fpt.com>
Co-authored-by: Huong Le Thi Thien <huongltt35@fpt.com>
Co-authored-by: Nam Pham Dinh Thanh <nampdt@fpt.com>
Co-authored-by: Vu Dam Tuan <vudt15@fpt.com>
Co-authored-by: Hiep Ha Van <hiephv3@fpt.com>
Co-authored-by: Lam Hoang Van <lamhv7@fpt.com>
Reviewed-on: #7
Co-authored-by: Duy Le Huu <duylh19@fpt.com>
2026-08-31 05:15:13 +00:00

124 lines
5.1 KiB
JSON

{
"scope": "StepConfigPanel (ui/co4e_config_panel.py, dong 1-528)",
"source_file": "ui/co4e_config_panel.py",
"symbols": [
{
"symbol": "_SECTION_ANIM_MS",
"source_lines": "27",
"target_file": "presentation/co4e/step_config_section.py",
"note": "hang so animation cho _add_section"
},
{
"symbol": "_SectionHeader",
"source_lines": "30-52",
"target_file": "presentation/co4e/step_config_section.py",
"note": "QLabel clickable, khung UI dung chung, khong co hanh vi nghiep vu rieng"
},
{
"symbol": "_add_section",
"source_lines": "55-130",
"target_file": "presentation/co4e/step_config_section.py",
"note": "khung section gap/mo dung chung cho 4 nhom truong cua StepConfigPanel"
},
{
"symbol": "StepConfigPanel (Signal + __init__)",
"source_lines": "133-313",
"target_file": "presentation/co4e/node_property_panel.py",
"note": "4 Signal (changed/run_node/run_from/delete_node) + dung toan bo form"
},
{
"symbol": "StepConfigPanel.load_step",
"source_lines": "316-354",
"target_file": "presentation/co4e/node_property_panel.py",
"note": "nap Step vao form"
},
{
"symbol": "StepConfigPanel.clear_step",
"source_lines": "356-359",
"target_file": "presentation/co4e/node_property_panel.py",
"note": "xoa state, tat panel"
},
{
"symbol": "StepConfigPanel._on_edit",
"source_lines": "362-378",
"target_file": "presentation/co4e/node_property_panel.py",
"note": "ghi field UI nguoc vao Step"
},
{
"symbol": "StepConfigPanel._available_agent_names",
"source_lines": "380-390",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "staticmethod, chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._add_subagent",
"source_lines": "392-408",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._edit_subagent",
"source_lines": "410-428",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._del_subagent",
"source_lines": "430-437",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._add_attachment",
"source_lines": "439-453",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._del_attachment",
"source_lines": "455-462",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin"
},
{
"symbol": "StepConfigPanel._ai_draft",
"source_lines": "464-498",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin; dung AgentWorker that"
},
{
"symbol": "StepConfigPanel._load_models",
"source_lines": "500-528",
"target_file": "presentation/co4e/node_property_actions_mixin.py",
"note": "chuyen vao mixin _StepConfigActionsMixin; dung AgentWorker that"
}
],
"old_file_after_split": {
"file": "ui/co4e_config_panel.py",
"content": "module docstring (sua, van tieng Anh) + import lai StepConfigPanel tu presentation/co4e/node_property_panel.py + __all__",
"lines": 14
},
"new_files": [
{"file": "presentation/co4e/step_config_section.py", "lines": 134},
{"file": "presentation/co4e/node_property_actions_mixin.py", "lines": 202},
{"file": "presentation/co4e/node_property_panel.py", "lines": 293}
],
"inheritance": {
"class": "StepConfigPanel",
"bases": ["_StepConfigActionsMixin", "QScrollArea"],
"mandatory_order": false,
"reason": "khong co method nao cua _StepConfigActionsMixin trung ten voi QScrollArea (khac Co4ECanvas voi paintEvent/mousePressEvent), nen thu tu ke thua khong anh huong hanh vi; giu mixin-truoc chi de nhat quan quy uoc"
},
"deliberate_unused_import_kept": {
"name": "PROVIDER_LABELS",
"source_line": 21,
"target_file": "presentation/co4e/node_property_panel.py",
"reason": "khong dung o dau trong ban goc (da xac minh bang grep); giu nguyen de dung pham vi chi doi cho, khong don dep import thua"
},
"test_patch_adaptation": {
"file": "tests/characterization/test_node_property_panel.py",
"what_changed": "case CASE_ADD_SUBAGENT_EMPTY_NAMES_USES_GETTEXT_QUIRK_OK doi tu StepConfigPanel.__dict__[\"_available_agent_names\"] (luu roi gan lai) sang del StepConfigPanel._available_agent_names (xoa override de roi ve lai method ke thua tu mixin)",
"why": "sau khi _available_agent_names chuyen vao _StepConfigActionsMixin, no khong con nam truc tiep trong StepConfigPanel.__dict__ nen loi KeyError; day la thay doi CACH patch/restore trong test, KHONG doi assert/hanh vi nao duoc kiem tra"
}
}