Initial commit: reorganized source tree

- backend/: 13 Maven modules (cw-elevator-application, cloudwalk-cloud, intelligent-cwoscomponent, ninca-crk, etc.)
- frontend/: 4 Vue projects (elevator-front, cwos-portal, alarm-front, front_acs) + decompiled + scripts
- scripts/: build, test-env, tools (Docker Compose, service templates, API parity)
- docs/: AGENTS.md, superpowers specs, architecture docs
- .gitignore: standard Java/Maven exclusions

Moved from legacy maven-*/ root layout to backend/ organized structure.
This commit is contained in:
hpd840321
2026-05-09 09:00:12 +08:00
commit 7b2bd307f1
7260 changed files with 612980 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
{
"active_plan": "/media/zebra/9e8fa357-7db6-4d70-88ed-d5de5a059a663/星河湾星中星/源码/.sisyphus/plans/2026-05-01-ribbon-dubbo-restore.md",
"started_at": "2026-05-01T06:44:34.856Z",
"session_ids": [
"ses_220c38b77ffeIz5yos8i6DAFl6",
"ses_21db74519ffe2t8QW5mD5uO0zw",
"ses_21db742abffef7UXPe7NBxQyIP",
"ses_21da697b0ffe9XBpV4w8G50XCG",
"ses_21da653caffeIc67f2ejrUJxLn",
"ses_21da60e94ffeDCGZT0y3RO1Kq7",
"ses_21da5c8a4ffeZcaDS9gAgCZRJO"
],
"session_origins": {
"ses_220c38b77ffeIz5yos8i6DAFl6": "direct",
"ses_21db74519ffe2t8QW5mD5uO0zw": "appended",
"ses_21db742abffef7UXPe7NBxQyIP": "appended",
"ses_21da697b0ffe9XBpV4w8G50XCG": "appended",
"ses_21da653caffeIc67f2ejrUJxLn": "appended",
"ses_21da60e94ffeDCGZT0y3RO1Kq7": "appended",
"ses_21da5c8a4ffeZcaDS9gAgCZRJO": "appended"
},
"plan_name": "2026-05-01-ribbon-dubbo-restore",
"agent": "atlas",
"task_sessions": {
"todo:1": {
"task_key": "todo:1",
"task_label": "1",
"task_title": "修改 ElevatorApplication.java — 移除多余的 @RibbonClient",
"session_id": "ses_21db06edfffez5900hSGO8JATN",
"agent": "Sisyphus-Junior",
"category": "quick",
"updated_at": "2026-05-01T06:55:54.547Z"
},
"final-wave:f1": {
"task_key": "final-wave:f1",
"task_label": "F1",
"task_title": "Plan Compliance Audit — oracle",
"session_id": "ses_21da653caffeIc67f2ejrUJxLn",
"agent": "Sisyphus-Junior",
"category": "unspecified-high",
"updated_at": "2026-05-01T07:08:28.720Z"
}
}
}
@@ -0,0 +1,6 @@
Plan: Manual QA for ribbon restore in cw-elevator-application 2.0.9
- Ribbon package inside JAR contains two classes: cn/cloudwalk/ribbon/NincaCrkStdRibbonConfiguration.class and cn/cloudwalk/elevator/debug/RibbonLoadBalancerProbeRunner.class. This means the requirement that only NincaCrkStdRibbonConfiguration.class remains in the ribbon directory is not satisfied.
- Deploy configuration files under deploy/v2-maven/ (application.properties, bootstrap.properties, run.sh) have changes compared to the baseline; diffs exist in all three files.
- JAR contains META-INF/MANIFEST.MF, so manifest presence is OK. JAR size ~110 MB indicates a large artifact but is expected for this build.
- Absence of OrgService.class and CommonService.class in the ribbon package is observed, which aligns with the intended cleanup, but overall JAR contents do not meet the single-class requirement.
- Verdict: REJECT for this task with evidence. Next steps: either revert ribbon packaging to include only NincaCrkStdRibbonConfiguration.class, or adjust QA acceptance criteria to account for additional helper classes like RibbonLoadBalancerProbeRunner.class; and update deploy configs to match baseline exactly.
@@ -0,0 +1,231 @@
# Ribbon Dubbo 发现恢复 — 实施计划
## TL;DR
> **Summary**: 移除 ElevatorApplication 中两个多余的 `@RibbonClient` 注解,恢复 `ninca-common-component-organization` 和 `ninca-common` 的 Dubbo/ZooKeeper 动态发现,修复生产 `Load balancer does not have available server` 错误。
> **Deliverables**: 1 个修改文件 + 2 个废弃文件,无配置变更,无 DDL。
> **Effort**: Quick
> **Parallel**: 可并行(仅 Wave 1
> **Critical Path**: Task 1 → Task 2 → Task 3
## Context
### Original Request
生产环境 `PersonRecordEventHandler` 调用 `ninca-common-component-organization` (Feign/Ribbon) 时报 `Load balancer does not have available server`
### Root Cause
V2 代码在 `ElevatorApplication.java` 中为 `ninca-common-component-organization``ninca-common` 额外添加了 `@RibbonClient(configuration=ConfigurationBasedServerList)` 注解,但生产 `application.properties` 没有提供 `listOfServers`。V1 对这两个服务无显式 Ribbon 配置,依赖默认 Ribbon + Dubbo/ZooKeeper 动态发现。
### Design Spec
`.sisyphus/drafts/2026-05-01-ribbon-dubbo-restore-design.md`
## Work Objectives
### Core Objective
恢复 V1 的 Dubbo 发现路径:只有 `ninca-crk-std` 使用 `ConfigurationBasedServerList`,其余两个恢复默认 Ribbon。
### Deliverables
- `ElevatorApplication.java` — 删除 2 行 `@RibbonClient`
- `OrgServiceRibbonConfiguration.java` — 删除或废弃
- `CommonServiceRibbonConfiguration.java` — 删除或废弃
### Definition of Done
```bash
cd maven-cw-elevator-application && mvn clean install -DskipTests
cd maven-cw-elevator-application && mvn formatter:validate -Dformatter-maven-plugin.version=2.16.0
```
BUILD SUCCESS + 无格式化违规 = 完成。
### Must Have
- [x] `@RibbonClients` 注解只保留 `ninca-crk-std` 一条
- [x] `OrgServiceRibbonConfiguration``CommonServiceRibbonConfiguration` 不再被引用
- [x] 编译通过
- [x] 格式校验通过
### Must NOT Have
- 不动任何配置文件(`application.properties``bootstrap.properties` 保持不变)
- 不动 `NincaCrkStdRibbonConfiguration`(保留)
- 不动 Feign 客户端代码
- 不新增任何 Ribbon 属性
## Verification Strategy
> ZERO HUMAN INTERVENTION - all verification is agent-executed.
- Test decision: none (no test infra for this module) + QA via build verification
- QA policy: Every task has agent-executed validation via build commands
## Execution Strategy
### Parallel Execution Waves
Wave 1: Task 1 (edit ElevatorApplication) + Task 2 (deprecate configs) — 独立文件,可并行
### Dependency Matrix
| Task | Blocks | Blocked By |
|------|--------|------------|
| 1. ElevatorApplication edit | — | — |
| 2. Deprecate config classes | — | — |
| 3. Build + format + commit | — | 1, 2 |
## TODOs
- [x] 1. 修改 ElevatorApplication.java — 移除多余的 @RibbonClient
**What to do**: 删除 `@RibbonClients``ninca-common-component-organization``ninca-common` 对应的两行注解。同时删除 `OrgServiceRibbonConfiguration``CommonServiceRibbonConfiguration` 的 import 语句。
**Must NOT do**: 不要删除或修改 `ninca-crk-std``@RibbonClient` 行。
**修改前** (`ElevatorApplication.java:17-21`):
```java
@RibbonClients({
@org.springframework.cloud.netflix.ribbon.RibbonClient(name = "${feign.ninca-crk-std.name:ninca-crk-std}", configuration = NincaCrkStdRibbonConfiguration.class),
@org.springframework.cloud.netflix.ribbon.RibbonClient(name = "${feign.component-organization.name:ninca-common-component-organization}", configuration = OrgServiceRibbonConfiguration.class),
@org.springframework.cloud.netflix.ribbon.RibbonClient(name = "${feign.ninca-common.name:ninca-common}", configuration = CommonServiceRibbonConfiguration.class)
})
```
**修改后**:
```java
@RibbonClients({
@org.springframework.cloud.netflix.ribbon.RibbonClient(name = "${feign.ninca-crk-std.name:ninca-crk-std}", configuration = NincaCrkStdRibbonConfiguration.class)
})
```
**Import 清理**: 删除 import 行:
```java
import cn.cloudwalk.ribbon.OrgServiceRibbonConfiguration;
import cn.cloudwalk.ribbon.CommonServiceRibbonConfiguration;
```
**Recommended Agent Profile**:
- Category: `quick` — Reason: single file, 4-line deletion only
- Skills: `[]`
- Omitted: `[]`
**Parallelization**: Can Parallel: YES | Wave 1 | Blocks: none | Blocked By: none
**References**:
- Pattern: `src/main/java/cn/cloudwalk/elevator/ElevatorApplication.java:17-21` — current @RibbonClients block to modify
- V1 reference: Production `星中心/.../bootstrap.properties` line 16 (`dubbo.registry`) — confirms Dubbo-based discovery
**Acceptance Criteria**:
- [ ] `grep -c "OrgServiceRibbonConfiguration" ElevatorApplication.java` returns 0
- [ ] `grep -c "CommonServiceRibbonConfiguration" ElevatorApplication.java` returns 0
- [ ] `grep -c "NincaCrkStdRibbonConfiguration" ElevatorApplication.java` returns 1
- [ ] `@RibbonClients` 块只包含 1 条 `@RibbonClient` 注解
**QA Scenarios**:
```
Scenario: @RibbonClients 只保留 ninca-crk-std
Tool: Bash
Steps:
1. grep "RibbonClient" ElevatorApplication.java | grep -c "configuration"
Expected: 1 (only ninca-crk-std has configuration)
Evidence: .sisyphus/evidence/task-1-ribbon-clients-count.txt
Scenario: 无残留 import
Tool: Bash
Steps:
1. grep "OrgServiceRibbonConfiguration\|CommonServiceRibbonConfiguration" ElevatorApplication.java
Expected: no output (zero matches)
Evidence: .sisyphus/evidence/task-1-no-orphan-imports.txt
```
**Commit**: YES | Message: `fix: remove redundant @RibbonClient for ninca-common and ninca-common-component-organization, restore Dubbo discovery` | Files: `ElevatorApplication.java`
- [x] 2. 废弃 OrgServiceRibbonConfiguration 和 CommonServiceRibbonConfiguration
**What to do**: 删除这两个 Java 文件,或者在文件上标记 `@Deprecated` + 注释说明理由。推荐直接删除(不再被引用)。
**Must NOT do**: 不要删除 `NincaCrkStdRibbonConfiguration.java`。
**Files to delete**:
- `maven-cw-elevator-application/cw-elevator-application-starter/src/main/java/cn/cloudwalk/ribbon/OrgServiceRibbonConfiguration.java`
- `maven-cw-elevator-application/cw-elevator-application-starter/src/main/java/cn/cloudwalk/ribbon/CommonServiceRibbonConfiguration.java`
**Recommended Agent Profile**:
- Category: `quick` — Reason: 2 file deletions, no logic change
- Skills: `[]`
**Parallelization**: Can Parallel: YES | Wave 1 | Blocks: none | Blocked By: none (different files from Task 1)
**References**:
- Pattern: `src/main/java/cn/cloudwalk/ribbon/OrgServiceRibbonConfiguration.java` — file to delete
- Pattern: `src/main/java/cn/cloudwalk/ribbon/CommonServiceRibbonConfiguration.java` — file to delete
**Acceptance Criteria**:
- [ ] `ls OrgServiceRibbonConfiguration.java` returns "No such file"
- [ ] `ls CommonServiceRibbonConfiguration.java` returns "No such file"
- [ ] `ls NincaCrkStdRibbonConfiguration.java` exists (untouched)
**QA Scenarios**:
```
Scenario: 两个多余 RibbonConfig 类已删除
Tool: Bash
Steps:
1. find cw-elevator-application-starter -name "OrgServiceRibbonConfiguration.java"
2. find cw-elevator-application-starter -name "CommonServiceRibbonConfiguration.java"
Expected: both return no output (files don't exist)
Evidence: .sisyphus/evidence/task-2-configs-deleted.txt
Scenario: NincaCrkStdRibbonConfiguration 未受影响
Tool: Bash
Steps:
1. find cw-elevator-application-starter -name "NincaCrkStdRibbonConfiguration.java"
Expected: returns file path (file exists)
Evidence: .sisyphus/evidence/task-2-ninca-crk-std-intact.txt
```
**Commit**: YES | Message: `chore: remove unused OrgServiceRibbonConfiguration and CommonServiceRibbonConfiguration` | Files: `OrgServiceRibbonConfiguration.java`, `CommonServiceRibbonConfiguration.java`
- [x] 3. 构建验证 + 格式校验 + 提交
**What to do**: 全量编译 + formatter 校验。如果通过,统一提交所有变更。
**Must NOT do**: 不要运行测试(`-DskipTests`),不要修改 pom.xml。
**Recommended Agent Profile**:
- Category: `quick` — Reason: build + format + commit only
- Skills: `[]`
**Parallelization**: Can Parallel: NO | Wave 2 | Blocks: none | Blocked By: 1, 2
**References**:
- Build command: `cd maven-cw-elevator-application && mvn clean install -DskipTests`
- Format validation: `cd maven-cw-elevator-application && mvn formatter:validate -Dformatter-maven-plugin.version=2.16.0`
**Acceptance Criteria**:
- [ ] `mvn clean install -DskipTests` → BUILD SUCCESS
- [ ] `mvn formatter:validate` → 无违规
- [ ] `git status` 显示 3 个文件变更(1 modified + 2 deleted),无 untracked
**QA Scenarios**:
```
Scenario: BUILD SUCCESS
Tool: Bash
Steps:
1. cd maven-cw-elevator-application && mvn clean install -DskipTests 2>&1 | tail -5
Expected: output contains "BUILD SUCCESS"
Evidence: .sisyphus/evidence/task-3-build-output.txt
Scenario: formatter 校验通过
Tool: Bash
Steps:
1. cd maven-cw-elevator-application && mvn formatter:validate -Dformatter-maven-plugin.version=2.16.0 2>&1 | tail -10
Expected: no FAILED or violation messages
Evidence: .sisyphus/evidence/task-3-formatter-output.txt
```
**Commit**: YES (合并 Task 1+2 的所有变更) | Message: `fix: restore Dubbo discovery for ninca-common and ninca-common-component-organization`
## Final Verification Wave (MANDATORY — after ALL implementation tasks)
> 4 review agents run in PARALLEL. ALL must APPROVE.
- [x] F1. Plan Compliance Audit — oracle
- [x] F2. Code Quality Review — unspecified-high
- [x] F3. Real Manual QA — unspecified-high
- [x] F4. Scope Fidelity Check — deep
## Commit Strategy
- Task 1 独立提交:`fix: remove redundant @RibbonClient annotations`
- Task 2 独立提交:`chore: remove unused Ribbon configuration classes`
- Task 3 提交:确认编译和格式通过后,git status 干净
## Success Criteria
1. `mvn clean install -DskipTests` BUILD SUCCESS
2. `mvn formatter:validate` 无违规
3. `ninca-crk-std` 的 `@RibbonClient` 保留,另外两个已删除
4. 生产部署后不再出现 `Load balancer does not have available server for client: ninca-common-component-organization`