feat(F-106): completed feature

This commit is contained in:
chattie
2026-08-21 09:27:55 +02:00
parent 5458789634
commit dca7c3214f
21 changed files with 958 additions and 73 deletions

View File

@@ -4656,6 +4656,162 @@
"Shipped state allows tracking number",
"verify.sh is green"
],
"status": "done",
"created_at": "2026-08-21",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-21T07:27:55Z"
},
{
"id": "F-107",
"type": "fix",
"title": "Reorder product editor form fields",
"problem": "Product editor form order is confusing and slug is manually editable",
"goal": "Slug auto-generated and disabled, featured star next to name, description right after name",
"scope_in": [
"admin product editor general tab"
],
"scope_out": [
"no schema change",
"no redesign"
],
"priority": "high",
"risk": "low",
"description": "Problem: Product editor form order is confusing and slug is manually editable. Goal: Slug auto-generated and disabled, featured star next to name, description right after name. Scope IN: admin product editor general tab. Scope OUT: no schema change, no redesign. Type: fix. Priority: high. Risk: low.",
"acceptance": [
"Slug auto-generated from name and input disabled",
"Featured star checkbox sits next to product name",
"Description follows name in form order",
"verify.sh is green"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {
"reviewer": false,
"security": false,
"qa": false
}
},
{
"id": "F-108",
"type": "fix",
"title": "Remove variants module: price stock EAN per product in General tab",
"problem": "Variants UI is useless because each variant is created as a separate product",
"goal": "Hide variant management, manage price stock EAN per product, show price and stock section in General tab between name and description",
"scope_in": [
"admin product editor",
"inventory",
"publish tab"
],
"scope_out": [
"no schema deletion",
"keep one internal variant per product"
],
"priority": "high",
"risk": "med",
"description": "Problem: Variants UI is useless because each variant is created as a separate product. Goal: Hide variant management, manage price stock EAN per product, show price and stock section in General tab between name and description. Scope IN: admin product editor, inventory, publish tab. Scope OUT: no schema deletion, keep one internal variant per product. Type: fix. Priority: high. Risk: med.",
"acceptance": [
"No variant creation UI remains in admin",
"Price stock EAN editable per product in General tab between name and description",
"Inventory lists products not variants",
"verify.sh is green"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {
"reviewer": false,
"security": false,
"qa": false
}
},
{
"id": "F-109",
"type": "fix",
"title": "Auto-generate SKU as SKU-MV-product-id and hide it from editor",
"problem": "SKU is internal only but operators must still see and type it",
"goal": "Generate SKU automatically as SKU-MV-[product_id], keep it internal, remove SKU input from product editor",
"scope_in": [
"catalog",
"admin product editor",
"inventory display"
],
"scope_out": [
"no SKU editability",
"no external service"
],
"priority": "high",
"risk": "low",
"description": "Problem: SKU is internal only but operators must still see and type it. Goal: Generate SKU automatically as SKU-MV-[product_id], keep it internal, remove SKU input from product editor. Scope IN: catalog, admin product editor, inventory display. Scope OUT: no SKU editability, no external service. Type: fix. Priority: high. Risk: low.",
"acceptance": [
"New product gets SKU SKU-MV-[product_id] without operator input",
"Product editor shows no SKU field",
"Supersedes F-100 title-based SKU idea",
"verify.sh is green"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {
"reviewer": false,
"security": false,
"qa": false
}
},
{
"id": "F-110",
"type": "feature",
"title": "Inventory: expiration date column, expiry and margin filters",
"problem": "Inventory shows internal SKU column and lacks expiry and profit-margin insight",
"goal": "Replace SKU column with expiration date, add expiring-soon filter under 30 days sorted ASC, add margin column and low-margin filter under 30 percent sorted ASC",
"scope_in": [
"admin inventory list"
],
"scope_out": [
"no pricing redesign"
],
"priority": "high",
"risk": "med",
"description": "Problem: Inventory shows internal SKU column and lacks expiry and profit-margin insight. Goal: Replace SKU column with expiration date, add expiring-soon filter under 30 days sorted ASC, add margin column and low-margin filter under 30 percent sorted ASC. Scope IN: admin inventory list. Scope OUT: no pricing redesign. Type: feature. Priority: high. Risk: med.",
"acceptance": [
"SKU column removed and expiration date column shown",
"Filter shows items expiring in under 30 days sorted by date ASC",
"Margin column shows profit margin percent",
"Filter shows items with margin under 30 percent sorted ASC",
"verify.sh is green"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {
"reviewer": false,
"security": false,
"qa": false
}
},
{
"id": "F-111",
"type": "feature",
"title": "Shipping management in order editing with tracking history",
"problem": "Order editing tab has no shipping management and tracking number leaves no history record",
"goal": "Manage shipping in order edit tab, register tracking number changes in order history",
"scope_in": [
"admin order detail",
"orders module history"
],
"scope_out": [
"no carrier integrations"
],
"priority": "high",
"risk": "med",
"description": "Problem: Order editing tab has no shipping management and tracking number leaves no history record. Goal: Manage shipping in order edit tab, register tracking number changes in order history. Scope IN: admin order detail, orders module history. Scope OUT: no carrier integrations. Type: feature. Priority: high. Risk: med.",
"acceptance": [
"Shipping section editable in order edit tab",
"Every tracking number change recorded in order history",
"History visible in order detail",
"verify.sh is green"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {