allwright 1.108.0 → 1.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/allwright.js +4 -1
  2. package/package.json +1 -1
package/bin/allwright.js CHANGED
@@ -1298,6 +1298,7 @@ Target architecture & stack: concrete choices, with one line of why each.
1298
1298
  Scope: what is IN the rebuild; what is deliberately OUT (with why).
1299
1299
  Modules & behaviour: EVERY module/area in scope, with the concrete behaviour the rebuild must honour - fields with their validations and conditional visibility, status transitions (each status field separately when there are several), permission/role gates per action, every flag that branches behaviour with BOTH branches spelled out, naming/suffix conventions, single-vs-bulk differences, import/export rules. Carry these forward from the understanding and requirements documents - list the rules themselves, never a heading that gestures at them. This is the SPEC's longest section by design.
1300
1300
  Data: how the legacy data maps on - what carries over, what dies.
1301
+ Testing strategy: how the rebuild proves itself and keeps proving itself - CHARACTERISATION tests pinning the legacy behaviour BEFORE any port (same fixtures against old and new); unit tests for the logic the new architecture makes testable; API/integration tests carrying the acceptance criteria; a SMALL end-to-end suite for the few costliest flows, named here - never blanket coverage; all of it run on every change (CI). Say what the schema now enforces and therefore needs no test. The ticket breakdown must honour this: characterisation tests are their own ticket sequenced BEFORE the port work, and every build ticket carries its own tests.
1301
1302
  Risks: what could sink this, from evidence in the study.
1302
1303
  `+(e.length?`Open gaps: these inputs were NOT available - name what the plan assumes because of each, so the reader knows what to provide next:
1303
1304
  ${e.map(r=>`- ${r}`).join(`
@@ -1407,6 +1408,8 @@ Answer with exactly one fenced block:
1407
1408
  # Tech stack
1408
1409
  ## Recommendation
1409
1410
  - one line per layer: frontend, backend, database, hosting/infra, integrations - the concrete choice, version-current
1411
+ ## What stays, what changes
1412
+ - per layer: KEPT, upgraded, rewritten or replaced - in plain words the person deciding can follow without being an engineer: what happens to the working domain logic, how building a feature changes day to day after the move, and THE one choice that moves cost the most, named as such
1410
1413
  ## Why this fits THIS product
1411
1414
  - reasoning anchored in the spec/legacy evidence (team realities, data shapes, integrations, migration path) - never generic praise
1412
1415
  ## Alternatives considered
@@ -1416,7 +1419,7 @@ Answer with exactly one fenced block:
1416
1419
  ## Open questions
1417
1420
  - what the person confirming should decide or verify
1418
1421
  \`\`\`
1419
- Under 1200 words. Concrete names and versions, honest trade-offs.`,sv=(t,e,n,r,s,i)=>`You are designing ONE screen of a product whose UI direction is already decided. Follow the direction exactly - same palette, same type, same components - so this screen sits beside the existing set seamlessly. The legacy frontend code may be in your working directory for reference.
1422
+ Under 1400 words. Concrete names and versions, honest trade-offs.`,sv=(t,e,n,r,s,i)=>`You are designing ONE screen of a product whose UI direction is already decided. Follow the direction exactly - same palette, same type, same components - so this screen sits beside the existing set seamlessly. The legacy frontend code may be in your working directory for reference.
1420
1423
 
1421
1424
  `+(i?"A FINISHED screen of this product is below. Its SHELL - the sidebar/menu (same items, same order, same markup), header, fonts, colors, spacing tokens - is the product's shell: COPY it verbatim, mark this screen's own nav item active, and design ONLY the content area. Two screens of one product never get two different menus.\n\n```html\n"+i.slice(0,12e4)+"\n```\n\n":"")+`THE DIRECTION:
1422
1425
  ${n.slice(0,4e4)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allwright",
3
- "version": "1.108.0",
3
+ "version": "1.109.0",
4
4
  "description": "Allwright — the AI teammate that runs on YOUR machine. Polls your Jira, runs jailed agents in your local checkouts, opens PRs, executes approved deploys, and audits security/testing/architecture. Credentials and code never leave your host.",
5
5
  "bin": {
6
6
  "allwright": "bin/allwright.js",