feat: add user_id index to profiles table for faster lookups
The profiles table previously lacked an index on the user_id column, causing full table scans during user lookups. This change adds a B-tree index on user_id to improve query performance for profile retrieval operations.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"agent": "seo",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T00:51:19.794707",
|
||||
"finished_at": "2026-06-12T00:52:22.621735",
|
||||
"summary": {
|
||||
"total": 0,
|
||||
"errors": 0,
|
||||
"warnings": 0,
|
||||
"fixed": 0,
|
||||
"unfixed": 0
|
||||
},
|
||||
"findings": []
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# seo report (check)
|
||||
|
||||
- total: 0
|
||||
- errors: 0
|
||||
- warnings: 0
|
||||
- fixed: 0
|
||||
- unfixed: 0
|
||||
|
||||
## Findings
|
||||
|
||||
None.
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"agent": "seo",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T01:34:02.164037",
|
||||
"finished_at": "2026-06-12T01:34:16.966318",
|
||||
"summary": {
|
||||
"total": 0,
|
||||
"errors": 0,
|
||||
"warnings": 0,
|
||||
"fixed": 0,
|
||||
"unfixed": 0
|
||||
},
|
||||
"cost": {
|
||||
"run_usd": "0.00151031",
|
||||
"session_usd": "0.00151031"
|
||||
},
|
||||
"findings": []
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# seo report (check)
|
||||
|
||||
- total: 0
|
||||
- errors: 0
|
||||
- warnings: 0
|
||||
- fixed: 0
|
||||
- unfixed: 0
|
||||
|
||||
## Findings
|
||||
|
||||
None.
|
||||
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T00:52:57.094561",
|
||||
"finished_at": "2026-06-12T00:54:21.002389",
|
||||
"summary": {
|
||||
"total": 12,
|
||||
"errors": 7,
|
||||
"warnings": 5,
|
||||
"fixed": 0,
|
||||
"unfixed": 12
|
||||
},
|
||||
"findings": [
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "devplacepy/services/bot/llm.py",
|
||||
"line": 105,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 30,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in docstring \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 1732,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2217,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in instruction string \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2250,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2293,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/style.py",
|
||||
"line": 38,
|
||||
"rule": "em-dash",
|
||||
"message": "HTML entity — and — used in rule definition \u2014 must use hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "review.md",
|
||||
"line": 1,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used throughout documentation prose in multiple lines",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "notifs.md",
|
||||
"line": 256,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in documentation prose",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "devplace.md",
|
||||
"line": 1,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in documentation prose throughout multiple lines",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "visuals.md",
|
||||
"line": 8,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in documentation prose throughout multiple lines",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "session-ses_1eae.md",
|
||||
"line": 37,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) and — HTML entity used throughout session log prose",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
# style report (check)
|
||||
|
||||
- total: 12
|
||||
- errors: 7
|
||||
- warnings: 5
|
||||
- fixed: 0
|
||||
- unfixed: 12
|
||||
|
||||
## Findings
|
||||
|
||||
### agents/agent.py
|
||||
- [error] em-dash:30: Em-dash character (U+2014) used in docstring — must be hyphen instead
|
||||
- [error] em-dash:1732: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
- [error] em-dash:2217: Em-dash character (U+2014) used in instruction string — must be hyphen instead
|
||||
- [error] em-dash:2250: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
- [error] em-dash:2293: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
|
||||
### agents/style.py
|
||||
- [error] em-dash:38: HTML entity — and — used in rule definition — must use hyphen instead
|
||||
|
||||
### devplace.md
|
||||
- [warning] em-dash:1: Em-dash character (U+2014) used in documentation prose throughout multiple lines
|
||||
|
||||
### devplacepy/services/bot/llm.py
|
||||
- [error] em-dash:105: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
|
||||
### notifs.md
|
||||
- [warning] em-dash:256: Em-dash character (U+2014) used in documentation prose
|
||||
|
||||
### review.md
|
||||
- [warning] em-dash:1: Em-dash character (U+2014) used throughout documentation prose in multiple lines
|
||||
|
||||
### session-ses_1eae.md
|
||||
- [warning] em-dash:37: Em-dash character (U+2014) and — HTML entity used throughout session log prose
|
||||
|
||||
### visuals.md
|
||||
- [warning] em-dash:8: Em-dash character (U+2014) used in documentation prose throughout multiple lines
|
||||
@@ -0,0 +1,495 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T00:57:46.956032",
|
||||
"finished_at": "2026-06-12T01:01:12.646284",
|
||||
"summary": {
|
||||
"total": 48,
|
||||
"errors": 13,
|
||||
"warnings": 32,
|
||||
"fixed": 0,
|
||||
"unfixed": 48
|
||||
},
|
||||
"findings": [
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/utils.py",
|
||||
"line": 434,
|
||||
"rule": "forbidden-suffix-_info",
|
||||
"message": "Function name 'badge_info' uses forbidden suffix '_info'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/push.py",
|
||||
"line": 246,
|
||||
"rule": "forbidden-suffix-_info",
|
||||
"message": "Variable name 'notification_info' uses forbidden suffix '_info'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/services.py",
|
||||
"line": 44,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Function name 'services_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/services.py",
|
||||
"line": 84,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Function name 'service_detail_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/containers.py",
|
||||
"line": 112,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Function name 'containers_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/containers_admin.py",
|
||||
"line": 70,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Function name 'containers_index_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/admin.py",
|
||||
"line": 109,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Function name 'admin_ai_usage_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/services/devii/actions/catalog.py",
|
||||
"line": 1046,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Action name 'admin_services_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/routers/gists.py",
|
||||
"line": 91,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Variable name 'gists_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/services/jobs/base.py",
|
||||
"line": 109,
|
||||
"rule": "forbidden-suffix-_data",
|
||||
"message": "Parameter name 'result_data' uses forbidden suffix '_data'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/services/devii/session.py",
|
||||
"line": 264,
|
||||
"rule": "forbidden-prefix-best_",
|
||||
"message": "Variable name 'best_rank' uses forbidden prefix 'best_'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/schemas.py",
|
||||
"line": 156,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Field name 'my_choice' uses forbidden prefix 'my_' (public API field in PollOut schema)",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/schemas.py",
|
||||
"line": 265,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Field name 'my_vote' uses forbidden prefix 'my_' (public API field repeated across multiple schemas)",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 589,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Variable name 'my_placeholders' uses forbidden prefix 'my_'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 589,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Variable name 'my_params' uses forbidden prefix 'my_'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 646,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Variable name 'my_choice' uses forbidden prefix 'my_'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "forbidden-names",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 692,
|
||||
"rule": "forbidden-prefix-my_",
|
||||
"message": "Variable name 'my_votes' uses forbidden prefix 'my_'",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/main.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line in devplacepy core module",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/schemas.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/utils.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/models.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/config.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header as first line",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/routers/admin.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - many files in devplacepy/routers/ directory missing header",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/services/base.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - many files in devplacepy/services/ directory missing header",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/services/bot/bot.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - bot service files missing header",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/services/openai_gateway/gateway.py",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - gateway service files missing header",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/static/js/ApiDocs.js",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - many JS files in devplacepy/static/js/ missing header (e.g., ApiDocs.js, ApiKeyManager.js, ApiTester.js, Application.js, etc.)",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/static/css/base.css",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - many CSS files missing header (e.g., base.css, variables.css, post.css, auth.css, etc.)",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "headers",
|
||||
"file": "devplacepy/templates/base.html",
|
||||
"line": 1,
|
||||
"rule": "missing-retoor-header",
|
||||
"message": "Missing mandatory retoor header - HTML template files missing header",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/cli.py",
|
||||
"line": 7,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function '_audit_cli' missing type annotations for all parameters and return type",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/seo.py",
|
||||
"line": 20,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'truncate' missing type annotations for 'text' parameter and return type",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/attachments.py",
|
||||
"line": 109,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'allowed_extensions' missing return type annotation",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/templating.py",
|
||||
"line": 21,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'guest_disabled' missing type annotations for 'user' parameter and return type",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/templating.py",
|
||||
"line": 27,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'login_hint' missing type annotations for 'user' parameter and return type",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/main.py",
|
||||
"line": 97,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'init_lock' missing return type annotation",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 94,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function '_index' missing type annotations for all parameters",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/database.py",
|
||||
"line": 103,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'init_db' missing return type annotation",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/seo.py",
|
||||
"line": 36,
|
||||
"rule": "missing-type-annotations",
|
||||
"message": "Function 'site_url' missing type annotations for 'request' parameter and return type",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "typing",
|
||||
"file": "devplacepy/cli.py",
|
||||
"line": 7,
|
||||
"rule": "missing-type-annotations-bulk",
|
||||
"message": "Many functions in devplacepy/cli.py, seo.py, attachments.py, templating.py, docs_api.py, docs_examples.py, database.py lack full type annotations on parameters and return types",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "pathlib",
|
||||
"file": "devplacepy/services/jobs/zip_worker.py",
|
||||
"line": 22,
|
||||
"rule": "use-pathlib",
|
||||
"message": "Uses os.path.getsize, os.path.join, os.path.relpath, os.path.isdir instead of pathlib.Path equivalents",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "pathlib",
|
||||
"file": "devplacepy/services/bot/registry.py",
|
||||
"line": 47,
|
||||
"rule": "use-pathlib",
|
||||
"message": "Uses os.path.getsize instead of Path.stat().st_size",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "pathlib",
|
||||
"file": "devplacepy/project_files.py",
|
||||
"line": 528,
|
||||
"rule": "use-pathlib",
|
||||
"message": "Uses os.walk instead of Path.rglob or Path.iterdir",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "pathlib",
|
||||
"file": "devplacepy/services/jobs/zip_worker.py",
|
||||
"line": 18,
|
||||
"rule": "use-pathlib",
|
||||
"message": "Uses os.walk instead of pathlib.Path.rglob",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "warning",
|
||||
"dimension": "magic-numbers",
|
||||
"file": "devplacepy/routers/avatar.py",
|
||||
"line": 12,
|
||||
"rule": "magic-number",
|
||||
"message": "Magic number 4096 used as cache max_size; should be a named constant",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "magic-numbers",
|
||||
"file": "devplacepy/attachments.py",
|
||||
"line": 106,
|
||||
"rule": "magic-number",
|
||||
"message": "Magic number 1024*1024 used repeatedly for bytes conversion; should use a named constant like BYTES_PER_MB",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "magic-numbers",
|
||||
"file": "devplacepy/attachments.py",
|
||||
"line": 499,
|
||||
"rule": "magic-number",
|
||||
"message": "Repeated literal 1024 in format_file_size; should use named constant",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "version-pinning",
|
||||
"file": "pyproject.toml",
|
||||
"line": 0,
|
||||
"rule": "no-pinning-convention",
|
||||
"message": "No version pinning found in pyproject.toml - dependencies use unversioned constraints (which is the desired pattern)",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
# style report (check)
|
||||
|
||||
- total: 48
|
||||
- errors: 13
|
||||
- warnings: 32
|
||||
- fixed: 0
|
||||
- unfixed: 48
|
||||
|
||||
## Findings
|
||||
|
||||
### devplacepy/attachments.py
|
||||
- [warning] missing-type-annotations:109: Function 'allowed_extensions' missing return type annotation
|
||||
- [info] magic-number:106: Magic number 1024*1024 used repeatedly for bytes conversion; should use a named constant like BYTES_PER_MB
|
||||
- [info] magic-number:499: Repeated literal 1024 in format_file_size; should use named constant
|
||||
|
||||
### devplacepy/cli.py
|
||||
- [warning] missing-type-annotations:7: Function '_audit_cli' missing type annotations for all parameters and return type
|
||||
- [warning] missing-type-annotations-bulk:7: Many functions in devplacepy/cli.py, seo.py, attachments.py, templating.py, docs_api.py, docs_examples.py, database.py lack full type annotations on parameters and return types
|
||||
|
||||
### devplacepy/config.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line
|
||||
|
||||
### devplacepy/database.py
|
||||
- [warning] forbidden-prefix-my_:589: Variable name 'my_placeholders' uses forbidden prefix 'my_'
|
||||
- [warning] forbidden-prefix-my_:589: Variable name 'my_params' uses forbidden prefix 'my_'
|
||||
- [warning] forbidden-prefix-my_:646: Variable name 'my_choice' uses forbidden prefix 'my_'
|
||||
- [warning] forbidden-prefix-my_:692: Variable name 'my_votes' uses forbidden prefix 'my_'
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line
|
||||
- [warning] missing-type-annotations:94: Function '_index' missing type annotations for all parameters
|
||||
- [warning] missing-type-annotations:103: Function 'init_db' missing return type annotation
|
||||
|
||||
### devplacepy/main.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line in devplacepy core module
|
||||
- [warning] missing-type-annotations:97: Function 'init_lock' missing return type annotation
|
||||
|
||||
### devplacepy/models.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line
|
||||
|
||||
### devplacepy/project_files.py
|
||||
- [warning] use-pathlib:528: Uses os.walk instead of Path.rglob or Path.iterdir
|
||||
|
||||
### devplacepy/push.py
|
||||
- [warning] forbidden-suffix-_info:246: Variable name 'notification_info' uses forbidden suffix '_info'
|
||||
|
||||
### devplacepy/routers/admin.py
|
||||
- [warning] forbidden-suffix-_data:109: Function name 'admin_ai_usage_data' uses forbidden suffix '_data'
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - many files in devplacepy/routers/ directory missing header
|
||||
|
||||
### devplacepy/routers/avatar.py
|
||||
- [warning] magic-number:12: Magic number 4096 used as cache max_size; should be a named constant
|
||||
|
||||
### devplacepy/routers/containers.py
|
||||
- [warning] forbidden-suffix-_data:112: Function name 'containers_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/routers/containers_admin.py
|
||||
- [warning] forbidden-suffix-_data:70: Function name 'containers_index_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/routers/gists.py
|
||||
- [warning] forbidden-suffix-_data:91: Variable name 'gists_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/routers/services.py
|
||||
- [warning] forbidden-suffix-_data:44: Function name 'services_data' uses forbidden suffix '_data'
|
||||
- [warning] forbidden-suffix-_data:84: Function name 'service_detail_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/schemas.py
|
||||
- [warning] forbidden-prefix-my_:156: Field name 'my_choice' uses forbidden prefix 'my_' (public API field in PollOut schema)
|
||||
- [warning] forbidden-prefix-my_:265: Field name 'my_vote' uses forbidden prefix 'my_' (public API field repeated across multiple schemas)
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line
|
||||
|
||||
### devplacepy/seo.py
|
||||
- [warning] missing-type-annotations:20: Function 'truncate' missing type annotations for 'text' parameter and return type
|
||||
- [warning] missing-type-annotations:36: Function 'site_url' missing type annotations for 'request' parameter and return type
|
||||
|
||||
### devplacepy/services/base.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - many files in devplacepy/services/ directory missing header
|
||||
|
||||
### devplacepy/services/bot/bot.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - bot service files missing header
|
||||
|
||||
### devplacepy/services/bot/registry.py
|
||||
- [warning] use-pathlib:47: Uses os.path.getsize instead of Path.stat().st_size
|
||||
|
||||
### devplacepy/services/devii/actions/catalog.py
|
||||
- [warning] forbidden-suffix-_data:1046: Action name 'admin_services_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/services/devii/session.py
|
||||
- [warning] forbidden-prefix-best_:264: Variable name 'best_rank' uses forbidden prefix 'best_'
|
||||
|
||||
### devplacepy/services/jobs/base.py
|
||||
- [warning] forbidden-suffix-_data:109: Parameter name 'result_data' uses forbidden suffix '_data'
|
||||
|
||||
### devplacepy/services/jobs/zip_worker.py
|
||||
- [warning] use-pathlib:22: Uses os.path.getsize, os.path.join, os.path.relpath, os.path.isdir instead of pathlib.Path equivalents
|
||||
- [warning] use-pathlib:18: Uses os.walk instead of pathlib.Path.rglob
|
||||
|
||||
### devplacepy/services/openai_gateway/gateway.py
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - gateway service files missing header
|
||||
|
||||
### devplacepy/static/css/base.css
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - many CSS files missing header (e.g., base.css, variables.css, post.css, auth.css, etc.)
|
||||
|
||||
### devplacepy/static/js/ApiDocs.js
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - many JS files in devplacepy/static/js/ missing header (e.g., ApiDocs.js, ApiKeyManager.js, ApiTester.js, Application.js, etc.)
|
||||
|
||||
### devplacepy/templates/base.html
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header - HTML template files missing header
|
||||
|
||||
### devplacepy/templating.py
|
||||
- [warning] missing-type-annotations:21: Function 'guest_disabled' missing type annotations for 'user' parameter and return type
|
||||
- [warning] missing-type-annotations:27: Function 'login_hint' missing type annotations for 'user' parameter and return type
|
||||
|
||||
### devplacepy/utils.py
|
||||
- [warning] forbidden-suffix-_info:434: Function name 'badge_info' uses forbidden suffix '_info'
|
||||
- [error] missing-retoor-header:1: Missing mandatory retoor header as first line
|
||||
|
||||
### pyproject.toml
|
||||
- [info] no-pinning-convention: No version pinning found in pyproject.toml - dependencies use unversioned constraints (which is the desired pattern)
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T01:02:02.351939",
|
||||
"finished_at": "2026-06-12T01:03:54.924366",
|
||||
"summary": {
|
||||
"total": 8,
|
||||
"errors": 8,
|
||||
"warnings": 0,
|
||||
"fixed": 0,
|
||||
"unfixed": 8
|
||||
},
|
||||
"findings": [
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 30,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in docstring \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 1732,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2217,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in instruction string \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2250,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2293,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "devplacepy/services/bot/llm.py",
|
||||
"line": 105,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal as replace target \u2014 must be hyphen or unicode escape instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "tests/test_demo.py.bak",
|
||||
"line": 36,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in comments throughout file \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "tests/test_demo.py.bak",
|
||||
"line": 277,
|
||||
"rule": "em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal \u2014 must be hyphen instead",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# style report (check)
|
||||
|
||||
- total: 8
|
||||
- errors: 8
|
||||
- warnings: 0
|
||||
- fixed: 0
|
||||
- unfixed: 8
|
||||
|
||||
## Findings
|
||||
|
||||
### agents/agent.py
|
||||
- [error] em-dash:30: Em-dash character (U+2014) used in docstring — must be hyphen instead
|
||||
- [error] em-dash:1732: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
- [error] em-dash:2217: Em-dash character (U+2014) used in instruction string — must be hyphen instead
|
||||
- [error] em-dash:2250: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
- [error] em-dash:2293: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
|
||||
### devplacepy/services/bot/llm.py
|
||||
- [error] em-dash:105: Em-dash character (U+2014) used in string literal as replace target — must be hyphen or unicode escape instead
|
||||
|
||||
### tests/test_demo.py.bak
|
||||
- [error] em-dash:36: Em-dash character (U+2014) used in comments throughout file — must be hyphen instead
|
||||
- [error] em-dash:277: Em-dash character (U+2014) used in string literal — must be hyphen instead
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T01:02:35.851370",
|
||||
"finished_at": "2026-06-12T01:05:34.005737",
|
||||
"summary": {
|
||||
"total": 0,
|
||||
"errors": 0,
|
||||
"warnings": 0,
|
||||
"fixed": 0,
|
||||
"unfixed": 0
|
||||
},
|
||||
"findings": []
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# style report (check)
|
||||
|
||||
- total: 0
|
||||
- errors: 0
|
||||
- warnings: 0
|
||||
- fixed: 0
|
||||
- unfixed: 0
|
||||
|
||||
## Findings
|
||||
|
||||
None.
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "check",
|
||||
"started_at": "2026-06-12T01:05:50.761027",
|
||||
"finished_at": "2026-06-12T01:07:16.324649",
|
||||
"summary": {
|
||||
"total": 11,
|
||||
"errors": 6,
|
||||
"warnings": 0,
|
||||
"fixed": 0,
|
||||
"unfixed": 11
|
||||
},
|
||||
"findings": [
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 30,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in comment text instead of a hyphen.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 1732,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in advice string literal instead of a hyphen.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2217,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in comment text instead of a hyphen.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2250,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in f-string instead of a hyphen.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2293,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in argparse description string instead of a hyphen.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "em-dash",
|
||||
"file": "devplacepy/services/bot/llm.py",
|
||||
"line": 105,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used in string literal for text.replace() instead of a hyphen or escape sequence.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "em-dash",
|
||||
"file": "tests/test_demo.py.bak",
|
||||
"line": 36,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Backup test file contains 15 em-dash characters (U+2014) in comments and string literals.",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "em-dash",
|
||||
"file": "review.md",
|
||||
"line": 1,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Documentation file review.md uses em-dash characters throughout (standard English prose, not code).",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "em-dash",
|
||||
"file": "notifs.md",
|
||||
"line": 256,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Documentation file notifs.md uses em-dash characters throughout (standard English prose, not code).",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "em-dash",
|
||||
"file": "devplace.md",
|
||||
"line": 1,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Documentation file devplace.md uses em-dash characters throughout (standard English prose, not code).",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "em-dash",
|
||||
"file": "visuals.md",
|
||||
"line": 8,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Documentation file visuals.md uses em-dash characters throughout (standard English prose, not code).",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
# style report (check)
|
||||
|
||||
- total: 11
|
||||
- errors: 6
|
||||
- warnings: 0
|
||||
- fixed: 0
|
||||
- unfixed: 11
|
||||
|
||||
## Findings
|
||||
|
||||
### agents/agent.py
|
||||
- [error] no-em-dash:30: Em-dash character (U+2014) used in comment text instead of a hyphen.
|
||||
- [error] no-em-dash:1732: Em-dash character (U+2014) used in advice string literal instead of a hyphen.
|
||||
- [error] no-em-dash:2217: Em-dash character (U+2014) used in comment text instead of a hyphen.
|
||||
- [error] no-em-dash:2250: Em-dash character (U+2014) used in f-string instead of a hyphen.
|
||||
- [error] no-em-dash:2293: Em-dash character (U+2014) used in argparse description string instead of a hyphen.
|
||||
|
||||
### devplace.md
|
||||
- [info] no-em-dash:1: Documentation file devplace.md uses em-dash characters throughout (standard English prose, not code).
|
||||
|
||||
### devplacepy/services/bot/llm.py
|
||||
- [error] no-em-dash:105: Em-dash character (U+2014) used in string literal for text.replace() instead of a hyphen or escape sequence.
|
||||
|
||||
### notifs.md
|
||||
- [info] no-em-dash:256: Documentation file notifs.md uses em-dash characters throughout (standard English prose, not code).
|
||||
|
||||
### review.md
|
||||
- [info] no-em-dash:1: Documentation file review.md uses em-dash characters throughout (standard English prose, not code).
|
||||
|
||||
### tests/test_demo.py.bak
|
||||
- [info] no-em-dash:36: Backup test file contains 15 em-dash characters (U+2014) in comments and string literals.
|
||||
|
||||
### visuals.md
|
||||
- [info] no-em-dash:8: Documentation file visuals.md uses em-dash characters throughout (standard English prose, not code).
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"agent": "style",
|
||||
"mode": "fix",
|
||||
"started_at": "2026-06-12T01:08:04.361327",
|
||||
"finished_at": "2026-06-12T01:10:20.066323",
|
||||
"summary": {
|
||||
"total": 7,
|
||||
"errors": 5,
|
||||
"warnings": 0,
|
||||
"fixed": 5,
|
||||
"unfixed": 2
|
||||
},
|
||||
"findings": [
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 30,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used instead of hyphen in docstring",
|
||||
"fixed": true,
|
||||
"fix_summary": "Replaced em-dash with hyphen in docstring about Chrome-accurate header order"
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 1732,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used instead of hyphen in advice string literal",
|
||||
"fixed": true,
|
||||
"fix_summary": "Replaced em-dash with hyphen in plan confidence advice string"
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2217,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used instead of hyphen in SYSTEM_PROMPT string",
|
||||
"fixed": true,
|
||||
"fix_summary": "Replaced em-dash with hyphen in operating protocol text"
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2250,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used instead of hyphen in _with_datetime() f-string",
|
||||
"fixed": true,
|
||||
"fix_summary": "Replaced em-dash with hyphen in datetime message string"
|
||||
},
|
||||
{
|
||||
"severity": "error",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "agents/agent.py",
|
||||
"line": 2293,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash character (U+2014) used instead of hyphen in argparse description",
|
||||
"fixed": true,
|
||||
"fix_summary": "Replaced em-dash with hyphen in argument parser description"
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "devplacepy/services/bot/llm.py",
|
||||
"line": 105,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash characters in llm.py replace() pattern are intentional data processing logic; not changed",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
},
|
||||
{
|
||||
"severity": "info",
|
||||
"dimension": "coding-rule-compliance",
|
||||
"file": "devplacepy/static/uploads/attachments/1a/64/1a640917-f599-4fce-8dc4-2babdb25f716.py",
|
||||
"line": 3,
|
||||
"rule": "no-em-dash",
|
||||
"message": "Em-dash in user-uploaded attachment file; not project source",
|
||||
"fixed": false,
|
||||
"fix_summary": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# style report (fix)
|
||||
|
||||
- total: 7
|
||||
- errors: 5
|
||||
- warnings: 0
|
||||
- fixed: 5
|
||||
- unfixed: 2
|
||||
|
||||
## Findings
|
||||
|
||||
### agents/agent.py
|
||||
- [fixed] no-em-dash:30: Em-dash character (U+2014) used instead of hyphen in docstring
|
||||
fix: Replaced em-dash with hyphen in docstring about Chrome-accurate header order
|
||||
- [fixed] no-em-dash:1732: Em-dash character (U+2014) used instead of hyphen in advice string literal
|
||||
fix: Replaced em-dash with hyphen in plan confidence advice string
|
||||
- [fixed] no-em-dash:2217: Em-dash character (U+2014) used instead of hyphen in SYSTEM_PROMPT string
|
||||
fix: Replaced em-dash with hyphen in operating protocol text
|
||||
- [fixed] no-em-dash:2250: Em-dash character (U+2014) used instead of hyphen in _with_datetime() f-string
|
||||
fix: Replaced em-dash with hyphen in datetime message string
|
||||
- [fixed] no-em-dash:2293: Em-dash character (U+2014) used instead of hyphen in argparse description
|
||||
fix: Replaced em-dash with hyphen in argument parser description
|
||||
|
||||
### devplacepy/services/bot/llm.py
|
||||
- [info] no-em-dash:105: Em-dash characters in llm.py replace() pattern are intentional data processing logic; not changed
|
||||
|
||||
### devplacepy/static/uploads/attachments/1a/64/1a640917-f599-4fce-8dc4-2babdb25f716.py
|
||||
- [info] no-em-dash:3: Em-dash in user-uploaded attachment file; not project source
|
||||
Reference in New Issue
Block a user