Compare commits

..

2 Commits

Author SHA1 Message Date
tim
c67c549f48 docs: update OpenWiki 2026-08-08 18:09:52 +00:00
tim
37616a9316 .github/workflows/openwiki-update.yml aktualisiert 2026-08-08 18:06:26 +00:00
5 changed files with 31 additions and 12 deletions

View File

@@ -14,16 +14,21 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
with:
# Full history so `openwiki code --update` can diff HEAD against the
# commit it last documented; a shallow clone hides that commit and the
# update runs against an empty change summary.
fetch-depth: 0
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with: with:
node-version: "22" node-version: "22"
- name: Install OpenWiki - name: Install OpenWiki
# mermaid + jsdom are optional; they add high-fidelity validation of Mermaid diagrams. Remove if your wiki has none. # mermaid + jsdom are optional; they add high-fidelity validation of Mermaid diagrams. Remove if your wiki has none.
run: npm install --global openwiki@0.2.3 mermaid@11.16.0 jsdom@29.1.1 run: npm install --global openwiki mermaid@11.16.0 jsdom@29.1.1
- name: Run OpenWiki - name: Run OpenWiki
run: openwiki code --update --print run: openwiki code --update --print
@@ -32,8 +37,19 @@ jobs:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
OPENWIKI_MODEL_ID: gemini-3.6-flash OPENWIKI_MODEL_ID: gemini-3.6-flash
- name: Restore protected workflow file
# `openwiki code --update` regenerates this file from its internal
# template on every run, which silently drops the guard above (see
# https://github.com/langchain-ai/openwiki/issues/423). Until that's
# fixed upstream, discard whatever the agent just wrote here so the
# guard always survives, regardless of whether the run above
# succeeded or failed.
if: always()
run: git checkout -- .github/workflows/openwiki-update.yml
- name: Create OpenWiki update pull request - name: Create OpenWiki update pull request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7 uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with: with:
add-paths: | add-paths: |
openwiki openwiki
@@ -46,4 +62,4 @@ jobs:
body: | body: |
Automated OpenWiki documentation update. Automated OpenWiki documentation update.
This PR was generated by the scheduled OpenWiki workflow. This PR was generated by the scheduled OpenWiki workflow.

View File

@@ -1,7 +1,7 @@
{ {
"updatedAt": "2026-08-08T10:49:34.141Z", "updatedAt": "2026-08-08T18:09:49.042Z",
"command": "update", "command": "update",
"gitHead": "bbc6ad60802ba4e19218d1529c927c67389d973d", "gitHead": "37616a93166c2ac0a46eedab276164f811043f4e",
"model": "gemini-3.6-flash", "model": "gemini-3.6-flash",
"status": "complete", "status": "complete",
"language": "en" "language": "en"

View File

@@ -108,7 +108,7 @@ sequenceDiagram
Client->>Hub: JoinLobby(lobbyCode) Client->>Hub: JoinLobby(lobbyCode)
Hub->>Hub: GetAuthenticatedUserId() Hub->>Hub: GetAuthenticatedUserId()
Hub->>Service: JoinGameAsync(lobbyCode, userId, connectionId) Hub->>Service: JoinGameAsync(lobbyCode, userId, connectionId)
Hub-->>Client: Broadcast "PlayerJoined" (GameStateDto) Hub-->>Client: Broadcast PlayerJoined (GameStateDto)
``` ```
*Sequence diagram showing user authentication via REST and subsequent authenticated SignalR WebSocket connection.* *Sequence diagram showing user authentication via REST and subsequent authenticated SignalR WebSocket connection.*

View File

@@ -96,3 +96,6 @@ SlipItIn.slnx
### `Documentation & Specifications` (`Agents/`) ### `Documentation & Specifications` (`Agents/`)
- **`Agents/Architecture.md`**: Specification document defining backend security and client MVVM/stability patterns. - **`Agents/Architecture.md`**: Specification document defining backend security and client MVVM/stability patterns.
- **`Agents/ProjectPlan.md`**: Project plan breakdown covering development phases. - **`Agents/ProjectPlan.md`**: Project plan breakdown covering development phases.
### `Automation & CI/CD` (`.github/workflows/`)
- **`.github/workflows/openwiki-update.yml`**: Scheduled GitHub Actions workflow executing `openwiki code --update` via Gemini Flash (`gemini-3.6-flash`) to keep repository documentation in sync with source changes.

View File

@@ -95,15 +95,15 @@ sequenceDiagram
GameBoardVM->>Hub: SubmitSlip(gameId, playerAId, cardId) GameBoardVM->>Hub: SubmitSlip(gameId, playerAId, cardId)
Hub->>Service: SubmitSlipAsync() Hub->>Service: SubmitSlipAsync()
Service->>DB: Set PlayerCard.IsUsed = true Service->>DB: Set PlayerCard.IsUsed = true
Hub-->>Challenger: Broadcast "SlipSubmitted" Hub-->>Challenger: Broadcast SlipSubmitted
Note over Challenger: Suspects invalid phrase Note over Challenger: Suspects invalid phrase
Challenger->>GameBoardVM: ChallengeCardAsync(card) Challenger->>GameBoardVM: ChallengeCardAsync(card)
GameBoardVM->>Hub: ChallengeSlip(gameId, playerBId, cardId) GameBoardVM->>Hub: ChallengeSlip(gameId, playerBId, cardId)
Hub->>Service: CreateChallengeAsync() Hub->>Service: CreateChallengeAsync()
Service->>DB: Insert SlipChallenge (Status = Pending) Service->>DB: Insert SlipChallenge (Status = Pending)
Hub-->>Challenger: Broadcast "SlipChallenged" Hub-->>Challenger: Broadcast SlipChallenged
Hub-->>Slipper: Unicast "ChallengeReceived" Hub-->>Slipper: Unicast ChallengeReceived
Note over Slipper: Notification Overlay Displays Note over Slipper: Notification Overlay Displays
Slipper->>GameBoardVM: ResolveChallengeAsync(challengeId, approved) Slipper->>GameBoardVM: ResolveChallengeAsync(challengeId, approved)
@@ -116,7 +116,7 @@ sequenceDiagram
else approved == true (Justified Catch) else approved == true (Justified Catch)
Service->>DB: Set Challenge.Status = Approved Service->>DB: Set Challenge.Status = Approved
end end
Hub-->>Challenger: Broadcast "ChallengeResolved" Hub-->>Challenger: Broadcast ChallengeResolved
``` ```
*Sequence diagram showing phrase submission, challenge initiation, target notification, and penalty resolution.* *Sequence diagram showing phrase submission, challenge initiation, target notification, and penalty resolution.*