Skip to content

Commit 199ef2c

Browse files
committed
chore: Hermes 제거 및 AI 작업 규칙 재구성
1 parent 6eda73a commit 199ef2c

13 files changed

Lines changed: 143 additions & 343 deletions

File tree

AGENT_ROLES.md renamed to .agents/roles.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This file defines the runnable AI role workflow for DevLog work.
66

77
It is not background documentation. Use it to split work across AI models, pass task packets between roles, and decide which review or verification gates must run before completion.
88

9-
Use `AGENT_WORKFLOWS.md` for task-specific runbooks that combine these roles into executable workflows.
9+
Use `.agents/workflows.md` for task-specific runbooks that combine these roles into executable workflows.
1010

1111
`AGENTS.md` remains the canonical repository rule file. If this file conflicts with `AGENTS.md`, follow `AGENTS.md`.
1212

@@ -18,7 +18,7 @@ Use `AGENT_WORKFLOWS.md` for task-specific runbooks that combine these roles int
1818
- The main agent owns integration, final diff inspection, and the final user report.
1919
- Build-only verification is allowed. Do not run, launch, install, boot, or open the app or Simulator unless the user explicitly requests it in the current turn.
2020
- Keep generated Xcode workspace/project and `Package.resolved` churn out of source control unless an approved dependency-lock policy requires it.
21-
- Keep AI workflow documents at the repository root, such as `AGENT_ROLES.md`. Do not put them under `docs/`.
21+
- Keep AI workflow and rule documents under `.agents/`. Do not put them under `docs/`.
2222

2323
## Model assignment
2424

@@ -97,7 +97,7 @@ Use this sequence for non-trivial AI-assisted work.
9797

9898
Read-only roles can run in parallel when they do not depend on the same unfinished output. Editing roles should run sequentially unless their assigned files and ownership boundaries are disjoint.
9999

100-
For full issue, implementation, review, CI, and docs-only runbooks, use `AGENT_WORKFLOWS.md`.
100+
For full issue, implementation, review, CI, and docs-only runbooks, use `.agents/workflows.md`.
101101

102102
## Task packet
103103

@@ -128,7 +128,7 @@ Use this template when assigning a `Lightweight` or `Fast` role through its conf
128128
```md
129129
You are the `<Role Name>` for the DevLog iOS repository.
130130

131-
Read `AGENTS.md` first. Then read `AGENT_ROLES.md` and follow the `<Role Name>` section.
131+
Read `AGENTS.md` first. Then read `.agents/roles.md` and follow the `<Role Name>` section.
132132

133133
Assigned model tier: `<Lightweight | Fast>`
134134
Custom agent: `<configured custom agent name>`
@@ -153,7 +153,7 @@ The receiving model must start by identifying its active role and must end with
153153
| --- | --- | --- |
154154
| Issue planning | Planner | Add GitHub/CI Analyst when live issue or PR state is the source of truth. |
155155
| Swift implementation | Planner, Implementer, Code Reviewer, Verification Runner | Add Architecture Watcher when boundary or dependency risk exists. |
156-
| Module, DI, SDK, Widget, StorePattern, or architecture docs | Planner, Architecture Watcher, Implementer, Code Reviewer, Verification Runner | Architecture Watcher must read `AGENTS.md`, `.gemini/styleguide.md`, `README.md`, and `.hermes/skills/devlog-architecture-harness/references/devlog-architecture-flow.md`. |
156+
| Module, DI, SDK, Widget, StorePattern, or architecture docs | Planner, Architecture Watcher, Implementer, Code Reviewer, Verification Runner | Architecture Watcher must read `AGENTS.md`, `.gemini/styleguide.md`, `README.md`, and `.agents/rules/architecture.md`. |
157157
| Review feedback | GitHub/CI Analyst, Planner, Implementer, Code Reviewer, Verification Runner | Use thread-aware review inspection when unresolved review threads matter. |
158158
| CI failure | GitHub/CI Analyst, Planner, Verification Runner | Add Implementer only after the failure source is identified. |
159159
| PR or release text | Documentation Writer | Add Code Reviewer when text must match actual diff. |
@@ -229,8 +229,8 @@ Must read before reviewing:
229229
- `AGENTS.md`
230230
- `.gemini/styleguide.md`
231231
- `README.md`
232-
- `.hermes/skills/devlog-architecture-harness/references/devlog-architecture-flow.md`
233-
- `.hermes/skills/devlog-architecture-harness/references/devlog-workflow-rules.md` when PR, commit, Xcode project, CI, widget, Store, localization, release, or build tooling is involved
232+
- `.agents/rules/architecture.md`
233+
- `.agents/rules/project-workflows.md` when PR, commit, Xcode project, CI, widget, Store, localization, release, or build tooling is involved
234234

235235
Must inspect:
236236

@@ -399,7 +399,7 @@ Before reporting completion:
399399
### Docs-only AI workflow change
400400

401401
1. Planner creates a task packet from the issue.
402-
2. Implementer edits `AGENTS.md` and `AGENT_ROLES.md`.
402+
2. Implementer edits `AGENTS.md` and `.agents/roles.md`.
403403
3. Code Reviewer checks whether the workflow is executable and scoped.
404404
4. Verification Runner runs `git diff --check` and file-presence checks.
405405
5. Main agent reports changed files, architecture boundary decision, and verification result.

.hermes/skills/devlog-architecture-harness/references/devlog-architecture-flow.md renamed to .agents/rules/architecture.md

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,52 @@
1-
# DevLog Architecture Flow
1+
# DevLog Architecture Rules
22

33
## Purpose
44

5-
This reference defines the DevLog-specific harness flow for AI-assisted architecture work.
5+
This reference defines the DevLog-specific flow and boundaries for AI-assisted architecture work.
66

77
The goal is not to make the AI decide more architecture policy. The goal is to make the AI stop before it makes project-specific architecture decisions that should be confirmed by the user.
88

9-
Use this reference with `AGENTS.md` and `.hermes/skills/devlog-architecture-harness/SKILL.md`.
9+
Use this reference with `AGENTS.md`, `.agents/rules/general.md`, and `.agents/roles.md`.
1010

1111
This repository is a Tuist-generated, workspace-based modular iOS app. There is no root `Package.swift`; module projects are generated from `Workspace.swift` and each module's `Project.swift`.
1212

13-
## High-level harness flow
13+
## When to use
14+
15+
Read this file before work that changes any of these areas:
16+
17+
- Module boundaries or file ownership across `Application/*` and `Widget/*` targets.
18+
- Swift imports or Tuist target dependencies.
19+
- DI assembler wiring or same-layer dependency injection.
20+
- Repository, service, store, or use case contracts.
21+
- Firebase, social login, network, link metadata, notification, or WidgetKit dependency placement.
22+
- Widget snapshot, App Group, or widget deep-link data flow.
23+
- Architecture diagrams, README architecture text, or PR architecture explanations.
24+
25+
Before editing, also read `.gemini/styleguide.md` and `README.md`. Read `.agents/rules/project-workflows.md` when the task involves PR review, commits, Xcode project files, CI, widgets, Store reducers, localization, release, or build tooling.
26+
27+
Then inspect the concrete files, Swift imports, and Tuist target dependencies related to the requested change. Do not rely on layer names alone.
28+
29+
## Mandatory flow
30+
31+
1. Identify the changed layer and owning target before editing.
32+
2. Inspect the current Swift import direction and Xcode target/framework dependency before deciding.
33+
3. Classify the change as mechanical, architectural, or ambiguous.
34+
4. Stop and ask the user before editing when the architecture boundary is ambiguous.
35+
5. Keep the diff limited to the requested architecture scope.
36+
6. Follow `.agents/rules/project-workflows.md` for verification after Swift or iOS project changes.
37+
7. Report the changed files, architecture decision, verification result, and unresolved user decisions.
38+
39+
## Safe mechanical changes
40+
41+
These may proceed after inspection when they do not change architecture meaning:
42+
43+
- Removing unused imports.
44+
- Updating import statements after an already-approved file move.
45+
- Fixing access control needed by an already-approved module boundary.
46+
- Updating tests to match an already-approved public contract.
47+
- Editing docs to reflect the current verified architecture.
48+
49+
## High-level architecture flow
1450

1551
```mermaid
1652
flowchart TD
@@ -309,7 +345,7 @@ Widget UI should consume snapshot data. It should not fetch app services or doma
309345
flowchart TD
310346
Changed["Files changed"]
311347
Swift{"Swift/iOS project code changed?"}
312-
Docs{"Docs or harness only?"}
348+
Docs{"Docs or architecture rules only?"}
313349
Xcode["Build with Xcode Local MCP"]
314350
Diff["Inspect git diff scope"]
315351
NoBuild["No iOS build required"]
@@ -346,4 +382,4 @@ Before editing architecture code, the AI should be able to answer these question
346382
- Swift logic was preserved unless explicitly approved.
347383
- Diff scope was checked.
348384
- Xcode Local MCP build was used for Swift/iOS code changes.
349-
- Docs-only or harness-only changes were reported as such, without claiming app build verification.
385+
- Docs-only or architecture-rule-only changes were reported as such, without claiming app build verification.

.agents/rules/general.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# DevLog General Agent Rules
2+
3+
## Logic preservation and optimization
4+
5+
- Reuse the existing program logic as-is whenever possible.
6+
- Change logic only when the new approach produces exactly the same result and strictly improves time or space complexity.
7+
- If there is no clear complexity improvement, keep the original logic.
8+
9+
## Code modification response style
10+
11+
- When asked to modify code, return only the precise changed locations and the modified code for those locations.
12+
- Do not include full files, unrelated code, or explanatory text unless explicitly requested.
13+
- You do not need to paste code in the prompt after updating it in the repository.
14+
15+
## Naming and Swift style
16+
17+
- In Swift, do not write explicit type annotations unless required.
18+
- Use `opfic` in new Swift file headers.
19+
- Prefer `<` and `<=` over `>` and `>=` when writing comparisons, if the condition can be expressed clearly that way.
20+
21+
## Documentation placement
22+
23+
- Keep AI workflow and rule documents under `.agents/`.
24+
- Keep `docs/` for README images and draw.io sources.
25+
- Do not add AI workflow documents under `docs/`.
26+
27+
## Repository-local rules
28+
29+
- DevLog-specific working rules belong in this repository, not in global agent memory.
30+
- Treat `AGENTS.md` and the routed `.agents/` documents as the canonical DevLog AI working rules.
31+
- If global memory conflicts with this repository, follow the repository.

.hermes/skills/devlog-architecture-harness/references/devlog-workflow-rules.md renamed to .agents/rules/project-workflows.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ This reference holds DevLog-specific working rules that should live with the pro
44

55
## Canonical source
66

7-
- Treat this repository's `AGENTS.md` and `.hermes/skills/devlog-architecture-harness` as the canonical DevLog working rules.
7+
- Treat this repository's `AGENTS.md` and routed `.agents/` documents as the canonical DevLog working rules.
88
- Use global memory only as historical context. If global memory conflicts with this repository, follow the repository.
99
- Before changing architecture rules, update the repository-local rules first.
1010

1111
## Verification
1212

13-
- Follow `AGENTS.md` for the canonical lint and build verification policy.
13+
- Treat this section as the canonical lint and build verification policy routed by `AGENTS.md`.
1414
- Run Homebrew SwiftLint (`swiftlint`) on changed Swift files.
1515
- Lint production Swift files with the applicable source `.swiftlint.yml` config.
1616
- Lint test Swift files with `.swiftlint-tests.yml` or the module `Tests/.swiftlint.yml` that inherits from it. Do not use the root production config for tests.
@@ -43,6 +43,11 @@ This reference holds DevLog-specific working rules that should live with the pro
4343

4444
## Commit guidance
4545

46+
- Commit messages must start with a short prefix used by recent local commits, such as `feat`, `fix`, `refactor`, `chore`, `test`, `docs`, `ui`, or `rollback`.
47+
- Write commit message prose in Korean.
48+
- Keep implementation names such as `ToastPresenter`, `toastHost`, `MainView`, `Presentation`, file paths, commands, branch names, and commit hashes in their original form.
49+
- Do not translate implementation names into Korean unless the user explicitly asks for a user-facing Korean label.
50+
- Do not write a commit message body.
4651
- If the user says they will commit or asks only for a commit message, provide commit-message guidance instead of committing.
4752
- Before proposing a commit message, inspect the actual diff and recent `git log`.
4853
- When recent history contains GitHub merge commits, do not infer commit-message style from merge subjects such as `[#123] ... (#456)`. Open the merge commit with `git show --no-patch --format=full <merge-commit>` and use the individual commit messages in the body, or inspect nearby non-merge commits.
Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
This file defines executable AI workflows for DevLog work.
66

7-
Use this after reading `AGENTS.md` and `AGENT_ROLES.md`. `AGENT_ROLES.md` defines what each role may do. This file defines how to combine those roles for common project tasks.
7+
Use this after reading `AGENTS.md` and `.agents/roles.md`. `.agents/roles.md` defines what each role may do. This file defines how to combine those roles for common project tasks.
88

99
If this file conflicts with `AGENTS.md`, follow `AGENTS.md`.
1010

1111
## Main-agent protocol
1212

1313
The main agent must run every workflow with this protocol.
1414

15-
1. Read `AGENTS.md`, then `AGENT_ROLES.md`, then this file.
15+
1. Read `AGENTS.md`, then `.agents/roles.md`, then this file.
1616
2. Select one workflow from this file.
1717
3. Create the task packet.
1818
4. Assign only the roles required by the selected workflow.
19-
5. Assign each role a model tier from `AGENT_ROLES.md`.
20-
6. Keep `Primary` roles with the active main agent, and dispatch every `Lightweight` or `Fast` role through the custom agent mapped in `AGENT_ROLES.md`.
19+
5. Assign each role a model tier from `.agents/roles.md`.
20+
6. Keep `Primary` roles with the active main agent, and dispatch every `Lightweight` or `Fast` role through the custom agent mapped in `.agents/roles.md`.
2121
7. Dispatch read-only `Lightweight` or `Fast` roles in parallel only when they do not depend on unfinished edits.
2222
8. Do not complete a required `Lightweight` or `Fast` role directly in `Primary`, including when the dispatch tool would inherit the active `Primary` model.
2323
9. Keep `Primary` editing roles sequential unless the files and ownership boundaries are disjoint.
@@ -50,7 +50,7 @@ Stop and ask the user before editing when:
5050
| PR review comment, unresolved thread, requested changes | Review-thread follow-up |
5151
| Failing GitHub Actions, CI log, workflow failure | CI failure triage |
5252
| PR body, release note, README, issue wording | Documentation-only writing |
53-
| AI role, AGENTS, workflow, harness docs | AI workflow maintenance |
53+
| AI role, AGENTS, workflow, or architecture-rule docs | AI workflow maintenance |
5454

5555
## Issue-driven implementation
5656

@@ -262,7 +262,7 @@ Report:
262262

263263
## AI workflow maintenance
264264

265-
Use for `AGENTS.md`, `AGENT_ROLES.md`, this file, `.hermes` harness relationship, or AI role routing changes.
265+
Use for `AGENTS.md`, `.agents/roles.md`, this file, `.agents/rules`, or AI role routing changes.
266266

267267
### Role order
268268

@@ -271,23 +271,24 @@ Use for `AGENTS.md`, `AGENT_ROLES.md`, this file, `.hermes` harness relationship
271271
3. Code Reviewer.
272272
4. Verification Runner.
273273

274-
Architecture Watcher is required only if the change modifies architecture policy, layer maps, ambiguity gates, or harness architecture rules.
274+
Architecture Watcher is required only if the change modifies architecture policy, layer maps, ambiguity gates, or architecture rules.
275275

276276
### Execution
277277

278-
- Keep AI workflow entry files at the repository root.
278+
- Keep `AGENTS.md` as the repository-root AI workflow entrypoint.
279279
- Do not add AI workflow documents under `docs/`.
280280
- `AGENTS.md` should stay the short canonical entrypoint.
281-
- `AGENT_ROLES.md` should define role permissions, output formats, and handoff packet shape.
282-
- `AGENT_WORKFLOWS.md` should define executable role sequences.
283-
- `.hermes/skills/devlog-architecture-harness` may remain as the detailed architecture reference unless the task explicitly removes or replaces it.
281+
- `.agents/roles.md` should define role permissions, output formats, and handoff packet shape.
282+
- `.agents/workflows.md` should define executable role sequences.
283+
- `.agents/rules/architecture.md` should define detailed architecture boundaries and ambiguity gates.
284+
- `.agents/rules/project-workflows.md` should define project-specific verification and delivery rules.
284285

285286
### Verification
286287

287288
Verification Runner must run:
288289

289290
```sh
290-
git diff --check -- AGENTS.md AGENT_ROLES.md AGENT_WORKFLOWS.md
291+
git diff --check -- AGENTS.md .agents .codex/agents
291292
```
292293

293294
If only Markdown workflow files changed, no iOS build is required.
@@ -323,7 +324,7 @@ Do not parallelize:
323324

324325
## Role prompt snippets
325326

326-
Use the activation template from `AGENT_ROLES.md`, then set `<Role Name>` to one of:
327+
Use the activation template from `.agents/roles.md`, then set `<Role Name>` to one of:
327328

328329
- `Planner`
329330
- `Implementer`
@@ -345,14 +346,14 @@ Include the selected workflow name in the task packet `Source` or `Goal` field s
345346
- Source: https://github.com/opficdev/DevLog_iOS/issues/704
346347
- Goal: Define AI agent roles and executable role-based workflows for this repository.
347348
- Scope: Update root AI workflow files and README visual summary only.
348-
- Out of scope: Swift/iOS app code, target dependency changes, `.hermes` removal, GitHub Actions changes, app launch.
349-
- Expected changed files: `AGENTS.md`, `AGENT_ROLES.md`, `AGENT_WORKFLOWS.md`, `README.md`
349+
- Out of scope: Swift/iOS app code, target dependency changes, architecture rule relocation, GitHub Actions changes, app launch.
350+
- Expected changed files: `AGENTS.md`, `.agents/roles.md`, `.agents/workflows.md`, `README.md`
350351
- Current owner: repository workflow documentation
351352
- Architecture risk: none
352353
- Required roles: Planner, Implementer, Code Reviewer, Verification Runner
353354
- Model assignment: Planner=Primary, Implementer=Primary, Code Reviewer=code_reviewer (Lightweight), Verification Runner=verification_runner (Lightweight)
354-
- Verification: `git diff --check -- AGENTS.md AGENT_ROLES.md AGENT_WORKFLOWS.md README.md`
355-
- Stop conditions: README `docs/` asset policy changes, Swift/iOS code changes, request to remove architecture harness immediately
355+
- Verification: `git diff --check -- AGENTS.md .agents .codex/agents README.md`
356+
- Stop conditions: README `docs/` asset policy changes, Swift/iOS code changes, request to remove architecture rules immediately
356357
```
357358

358359
### Review-thread follow-up example

.codex/agents/architecture_watcher.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ model = "gpt-5.3-codex-spark"
44
model_reasoning_effort = "medium"
55
sandbox_mode = "read-only"
66
developer_instructions = """
7-
Read AGENTS.md and AGENT_ROLES.md before reviewing.
8-
Act only as the Architecture Watcher defined in AGENT_ROLES.md.
7+
Read AGENTS.md and .agents/roles.md before reviewing.
8+
Act only as the Architecture Watcher defined in .agents/roles.md.
99
Inspect the requested architecture scope and relevant manifests without editing files or changing GitHub state.
1010
Do not run, launch, install, boot, or open the app or Simulator.
11-
Return exactly the Architecture Watch Result format from AGENT_ROLES.md.
11+
Return exactly the Architecture Watch Result format from .agents/roles.md.
1212
"""

.codex/agents/code_reviewer.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ model = "gpt-5.3-codex-spark"
44
model_reasoning_effort = "medium"
55
sandbox_mode = "read-only"
66
developer_instructions = """
7-
Read AGENTS.md and AGENT_ROLES.md before reviewing.
8-
Act only as the Code Reviewer defined in AGENT_ROLES.md.
7+
Read AGENTS.md and .agents/roles.md before reviewing.
8+
Act only as the Code Reviewer defined in .agents/roles.md.
99
Review the assigned diff without editing files, staging changes, committing, pushing, or changing GitHub state.
1010
Prioritize correctness, regressions, architecture drift, scope drift, and missing tests over style preferences.
11-
Return exactly the Code Review Result format from AGENT_ROLES.md with file and line references when possible.
11+
Return exactly the Code Review Result format from .agents/roles.md with file and line references when possible.
1212
"""

.codex/agents/documentation_writer.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ model = "gpt-5.3-codex-spark"
44
model_reasoning_effort = "medium"
55
sandbox_mode = "workspace-write"
66
developer_instructions = """
7-
Read AGENTS.md and AGENT_ROLES.md before drafting.
8-
Act only as the Documentation Writer defined in AGENT_ROLES.md.
7+
Read AGENTS.md and .agents/roles.md before drafting.
8+
Act only as the Documentation Writer defined in .agents/roles.md.
99
Match repository templates, actual diffs, live issue or PR state, and the requested Korean wording rules.
1010
Edit only documentation files named in the task packet. Do not edit app code or create GitHub content unless the task packet explicitly authorizes that write action.
11-
Return exactly the Documentation Result format from AGENT_ROLES.md unless the task packet requests direct Markdown draft output.
11+
Return exactly the Documentation Result format from .agents/roles.md unless the task packet requests direct Markdown draft output.
1212
"""

0 commit comments

Comments
 (0)