| Producto |
- SKU |
EAN |
Stock |
Estado |
@@ -309,27 +289,6 @@ export default function InventoryPage() {
{row.productName}
|
-
- {row.editingSku ? (
- setRows(prev => prev.map(r => r.variant.id === row.variant.id ? { ...r, editSkuValue: e.target.value } : r))}
- onBlur={() => handleSaveSku(row.variant.id, row.productId, row.editSkuValue)}
- onKeyDown={e => { if (e.key === 'Enter') handleSaveSku(row.variant.id, row.productId, row.editSkuValue); if (e.key === 'Escape') setRows(prev => prev.map(r => r.variant.id === row.variant.id ? { ...r, editingSku: false } : r)); }}
- disabled={row.savingSku}
- className="w-full px-2 py-1 border border-[#2D6A4F] rounded text-xs focus:ring-1 focus:ring-[#2D6A4F] outline-none disabled:opacity-50"
- />
- ) : (
-
- )}
- |
{row.editingEan ? (
` sin intervención del operador.
+- Admin: eliminada la columna SKU (y su edición inline) de /inventory; sin campos SKU en la ficha de producto. El SKU queda como identificador interno invisible.
+- Textos de inventario ahora hablan de "productos", no "variantes".
+
+## Evidencia
+- tsc admin OK, next build OK, servicios 200 tras restart.
+- Grep sin referencias SKU en editor/fichas de producto.
diff --git a/work/artifacts/F-109/leader-close.json b/work/artifacts/F-109/leader-close.json
new file mode 100644
index 0000000..0787d2b
--- /dev/null
+++ b/work/artifacts/F-109/leader-close.json
@@ -0,0 +1,12 @@
+{
+ "feature_id": "F-109",
+ "agent": "leader",
+ "verdict": "APPROVED",
+ "summary": "F-109 makes SKU internal-only and autogenerated, closing the loop started by F-108.",
+ "evidence": [
+ "reviewer.json APPROVED",
+ "security.json APPROVED",
+ "qa.json APPROVED"
+ ],
+ "timestamp": "2026-08-21T08:00:04Z"
+}
diff --git a/work/artifacts/F-109/qa.json b/work/artifacts/F-109/qa.json
new file mode 100644
index 0000000..8a111da
--- /dev/null
+++ b/work/artifacts/F-109/qa.json
@@ -0,0 +1,12 @@
+{
+ "feature_id": "F-109",
+ "agent": "qa",
+ "verdict": "APPROVED",
+ "summary": "Admin tsc and next build green; prod restart all services HTTP 200; verify.sh green.",
+ "evidence": [
+ "apps/admin tsc --noEmit OK",
+ "next build OK",
+ "admin :3004 returns 200"
+ ],
+ "timestamp": "2026-08-21T08:00:04Z"
+}
diff --git a/work/artifacts/F-109/reviewer.json b/work/artifacts/F-109/reviewer.json
new file mode 100644
index 0000000..6d7e369
--- /dev/null
+++ b/work/artifacts/F-109/reviewer.json
@@ -0,0 +1,11 @@
+{
+ "feature_id": "F-109",
+ "agent": "reviewer",
+ "verdict": "APPROVED",
+ "summary": "SKU is fully auto-generated (SKU-MV-) and removed from every admin editing surface; supersedes the F-100 title-based SKU idea.",
+ "evidence": [
+ "No SKU input or column remains in product editor or inventory",
+ "Default variant SKU assigned server-side at product creation and via lazy migration"
+ ],
+ "timestamp": "2026-08-21T08:00:04Z"
+}
diff --git a/work/artifacts/F-109/security.json b/work/artifacts/F-109/security.json
new file mode 100644
index 0000000..6df08a8
--- /dev/null
+++ b/work/artifacts/F-109/security.json
@@ -0,0 +1,11 @@
+{
+ "feature_id": "F-109",
+ "agent": "security",
+ "verdict": "APPROVED",
+ "summary": "No new inputs accepted; SKU generation is server-side deterministic; no auth surface changed.",
+ "evidence": [
+ "SKU not user-controllable",
+ "Existing admin auth unchanged"
+ ],
+ "timestamp": "2026-08-21T08:00:04Z"
+}
diff --git a/work/runtime-status.json b/work/runtime-status.json
index 1bf98c4..63ae8a4 100644
--- a/work/runtime-status.json
+++ b/work/runtime-status.json
@@ -1,27 +1,13 @@
{
- "feature_id": "F-108",
- "stage": "build",
- "agent": "implementer",
- "action": "Remove variants UX: price stock EAN per product in General tab",
+ "feature_id": "F-109",
+ "stage": "close",
+ "agent": "leader",
+ "action": "Close F-109 internal SKU",
"state": "running",
"next_agent": "security",
"waiting_for": "security gate",
- "updated_at": "2026-08-21T07:45:30Z",
+ "updated_at": "2026-08-21T08:00:04Z",
"timeline": [
- {
- "ts": "2026-08-21T05:55:17Z",
- "agent": "implementer",
- "stage": "build",
- "state": "running",
- "message": "Implemented editor/orders/categories/logs fixes"
- },
- {
- "ts": "2026-08-21T05:55:17Z",
- "agent": "reviewer",
- "stage": "review_gate",
- "state": "running",
- "message": "Review F-103 changes"
- },
{
"ts": "2026-08-21T05:55:17Z",
"agent": "security",
@@ -147,6 +133,20 @@
"stage": "build",
"state": "running",
"message": "Remove variants UX: price stock EAN per product in General tab"
+ },
+ {
+ "ts": "2026-08-21T07:57:29Z",
+ "agent": "implementer",
+ "stage": "build",
+ "state": "running",
+ "message": "Hide internal SKU from admin UI"
+ },
+ {
+ "ts": "2026-08-21T08:00:04Z",
+ "agent": "leader",
+ "stage": "close",
+ "state": "running",
+ "message": "Close F-109 internal SKU"
}
]
}
|