-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Character Working State + Game Mechanics Infrastructure #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| { | ||
| "mcpServers": { | ||
| "serena": { | ||
| "command": "/home/sebas/.local/bin/uvx", | ||
| "args": [ | ||
| "--from", | ||
| "git+https://github.com/oraios/serena", | ||
| "serena", | ||
| "start-mcp-server", | ||
| "--project", | ||
| "/home/sebas/monitor2", | ||
| "--context", | ||
| "ide" | ||
| ] | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,168 @@ | ||||||||||||||||||||
| """ | ||||||||||||||||||||
| Resolver Agent implementation. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| LAYER: 2 (agents) | ||||||||||||||||||||
| Authority: MongoDB (resolutions, proposals), Character State | ||||||||||||||||||||
| """ | ||||||||||||||||||||
|
|
||||||||||||||||||||
| from monitor_agents.base import BaseAgent | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| """ | ||||||||||||||||||||
| Resolver Agent implementation. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| LAYER: 2 (agents) | ||||||||||||||||||||
| Authority: MongoDB (resolutions, proposals), Character State | ||||||||||||||||||||
| """ | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
Comment on lines
+8
to
+17
|
||||||||||||||||||||
| from monitor_agents.base import BaseAgent | |
| """ | |
| Resolver Agent implementation. | |
| LAYER: 2 (agents) | |
| Authority: MongoDB (resolutions, proposals), Character State | |
| """ |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Import of 'Optional' is not used.
| from typing import Dict, Any, Optional | |
| from typing import Dict, Any |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Handle skill checks without attribute definition
When stat_name is a skill, target_attr_def stays None (lines 109–118), but later mod_formula = target_attr_def.get(...) dereferences it unconditionally, which raises AttributeError and makes every skill check return an error instead of a result. This happens whenever a skill (not an attribute) is passed, so resolve_check cannot resolve any skill-based checks unless you set target_attr_def to the linked attribute definition or branch the modifier calculation for the skill path.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accept non-numeric success_threshold values
The dice-pool path does threshold = int(core_mechanic.get("success_threshold", 6)), but the built-in systems you added define success_threshold as descriptive strings (e.g., Fate Core and PbtA in packages/data-layer/src/monitor_data/data/builtin_systems.json), so int(...) raises ValueError and resolve_check returns an error for those systems. This means dice-pool checks for those bundled systems are unusable until you parse a numeric threshold or handle string thresholds explicitly.
Useful? React with 👍 / 👎.
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -0,0 +1,60 @@ | ||||
| """ | ||||
| CLI commands for resolving mechanics (DL-24). | ||||
| """ | ||||
|
|
||||
| import asyncio | ||||
| import json | ||||
|
||||
| import json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoded absolute path
/home/sebas/monitor2in the MCP server configuration makes this file non-portable across different development environments. This should use a relative path or environment variable.Consider using
${workspaceFolder}or similar placeholder that can be resolved per environment.