@cat-factory/app 0.47.9 → 0.47.10
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.
- package/app/components/brainstorm/BrainstormWindow.vue +96 -59
- package/app/components/clarity/ClarityReviewWindow.vue +84 -59
- package/app/components/consensus/ConsensusSessionWindow.vue +72 -34
- package/app/components/focus/BlockFocusView.vue +14 -10
- package/app/components/followUp/FollowUpWindow.vue +51 -26
- package/app/components/humanTest/HumanTestWindow.vue +70 -35
- package/app/components/requirements/RequirementsReviewWindow.vue +130 -82
- package/app/components/spec/ServiceSpecWindow.vue +54 -28
- package/app/components/testing/TestReportWindow.vue +82 -39
- package/app/components/visualConfirm/VisualConfirmationWindow.vue +49 -32
- package/i18n/locales/en.json +580 -0
- package/i18n/locales/es.json +547 -0
- package/i18n/locales/fr.json +547 -0
- package/i18n/locales/pl.json +547 -0
- package/i18n/locales/uk.json +547 -0
- package/package.json +1 -1
package/i18n/locales/en.json
CHANGED
|
@@ -2378,5 +2378,585 @@
|
|
|
2378
2378
|
"gatedCommit": "Gated commit",
|
|
2379
2379
|
"footer": "A gate runs a programmatic precheck and only spins up the {helper} when it fails; a green check advances with nothing spun up."
|
|
2380
2380
|
}
|
|
2381
|
+
},
|
|
2382
|
+
"requirements": {
|
|
2383
|
+
"title": "Requirements review",
|
|
2384
|
+
"iteration": "Iteration {current} / {max}",
|
|
2385
|
+
"intro": "An AI reviewer inspected this {level}'s collected requirements — its description plus any linked PRDs and tracker issues — and raised the findings below. {answer} the relevant ones and {dismiss} the irrelevant, then incorporate them; the reviewer re-reviews until the requirements are clear.",
|
|
2386
|
+
"levelFallback": "item",
|
|
2387
|
+
"answerVerb": "Answer",
|
|
2388
|
+
"dismissVerb": "dismiss",
|
|
2389
|
+
"empty": "No review yet. The reviewer runs automatically as the first step when this task's pipeline starts.",
|
|
2390
|
+
"loadingReview": "Loading the review…",
|
|
2391
|
+
"reviewing": "Reviewing the requirements…",
|
|
2392
|
+
"settled": "The requirements are settled. The document below is what every downstream agent step uses.",
|
|
2393
|
+
"exceeded": {
|
|
2394
|
+
"heading": "Reached the {max}-iteration limit with findings still open.",
|
|
2395
|
+
"detail": "Do one more review round, proceed to the next phase with the last incorporated requirements anyway, or stop and reset the task so you can rework the requirements and resubmit."
|
|
2396
|
+
},
|
|
2397
|
+
"working": {
|
|
2398
|
+
"incorporating": "Incorporating your answers into a requirements document… You can close this — we'll notify you only if more input is needed.",
|
|
2399
|
+
"reReviewing": "Re-reviewing the updated requirements… You can close this — we'll notify you only if more input is needed."
|
|
2400
|
+
},
|
|
2401
|
+
"severity": {
|
|
2402
|
+
"high": "high",
|
|
2403
|
+
"medium": "medium",
|
|
2404
|
+
"low": "low"
|
|
2405
|
+
},
|
|
2406
|
+
"category": {
|
|
2407
|
+
"gap": "gap",
|
|
2408
|
+
"clarification": "clarification",
|
|
2409
|
+
"assumption": "assumption",
|
|
2410
|
+
"risk": "risk",
|
|
2411
|
+
"question": "question"
|
|
2412
|
+
},
|
|
2413
|
+
"itemStatus": {
|
|
2414
|
+
"open": "open",
|
|
2415
|
+
"answered": "answered",
|
|
2416
|
+
"resolved": "resolved",
|
|
2417
|
+
"dismissed": "dismissed",
|
|
2418
|
+
"recommend_requested": "recommend requested"
|
|
2419
|
+
},
|
|
2420
|
+
"answerLabel": "Answer",
|
|
2421
|
+
"answerPlaceholder": "Answer this finding…",
|
|
2422
|
+
"dismissIrrelevant": "Dismiss as irrelevant",
|
|
2423
|
+
"markedForRecommendation": "Marked for recommendation",
|
|
2424
|
+
"recommendSomething": "Recommend something",
|
|
2425
|
+
"recommendationRequested": "Recommendation requested — review the suggestion below.",
|
|
2426
|
+
"reopen": "Reopen",
|
|
2427
|
+
"recommendedAnswers": "Recommended answers",
|
|
2428
|
+
"recommendationProgress": "{ready} / {total} ready",
|
|
2429
|
+
"generatingSuggestion": "Generating a grounded suggestion…",
|
|
2430
|
+
"currentStandard": "Current standard: {title}",
|
|
2431
|
+
"accept": "Accept",
|
|
2432
|
+
"reject": "Reject",
|
|
2433
|
+
"reRequestPlaceholder": "Ask for a different recommendation…",
|
|
2434
|
+
"reRequest": "Re-request",
|
|
2435
|
+
"finalRequirements": "Final requirements",
|
|
2436
|
+
"incorporatedDraft": "Incorporated requirements (draft)",
|
|
2437
|
+
"stats": {
|
|
2438
|
+
"findings": "Findings",
|
|
2439
|
+
"open": "Open",
|
|
2440
|
+
"answered": "Answered",
|
|
2441
|
+
"model": "Model"
|
|
2442
|
+
},
|
|
2443
|
+
"actions": {
|
|
2444
|
+
"proceedNothing": "Proceed (nothing to incorporate)",
|
|
2445
|
+
"incorporateAnswers": "Incorporate answers",
|
|
2446
|
+
"requestRecommendations": "Request {count} recommendation | Request {count} recommendation | Request {count} recommendations",
|
|
2447
|
+
"reReview": "Looks good — re-review",
|
|
2448
|
+
"reReviewing": "Re-reviewing…",
|
|
2449
|
+
"redoIncorporation": "Redo incorporation",
|
|
2450
|
+
"redoWithDirection": "Redo with this direction"
|
|
2451
|
+
},
|
|
2452
|
+
"help": {
|
|
2453
|
+
"canProceed": "Every finding is dismissed — proceed to the next phase without reworking.",
|
|
2454
|
+
"canIncorporate": "Folds your answers into one standard-format document, then re-reviews it automatically.",
|
|
2455
|
+
"answerAll": "Answer or dismiss every finding to continue.",
|
|
2456
|
+
"merged": "Re-review runs the reviewer against this document. If you're unhappy with how it was merged, redo it with a comment instead."
|
|
2457
|
+
},
|
|
2458
|
+
"redoPlaceholder": "What should the merge do differently?",
|
|
2459
|
+
"settledFooter": "Requirements settled — the pipeline is continuing with the document on the left.",
|
|
2460
|
+
"toast": {
|
|
2461
|
+
"preparingRecommendations": "Preparing {count} recommendation in the background | Preparing {count} recommendation in the background | Preparing {count} recommendations in the background",
|
|
2462
|
+
"preparingRecommendationsDescription": "Your answers are saved — close this if you like; we'll notify you when they're ready.",
|
|
2463
|
+
"recommendationsReady": "{count} recommendation ready | {count} recommendation ready | {count} recommendations ready",
|
|
2464
|
+
"incorporating": "Incorporating your answers in the background",
|
|
2465
|
+
"incorporatingDescription": "You're back on the board — we'll notify you only if more input is needed.",
|
|
2466
|
+
"reviewerSatisfied": "Reviewer is satisfied — continuing the pipeline",
|
|
2467
|
+
"iterationLimitReached": "Iteration limit reached — choose how to proceed",
|
|
2468
|
+
"newFindings": "no new findings to react to | {count} new finding to react to | {count} new findings to react to",
|
|
2469
|
+
"proceeding": "Proceeding to the next phase",
|
|
2470
|
+
"taskReset": "Task reset — edit the requirements and resubmit",
|
|
2471
|
+
"extraRoundGranted": "One more review round granted"
|
|
2472
|
+
},
|
|
2473
|
+
"errors": {
|
|
2474
|
+
"saveAnswer": "Could not save the answer",
|
|
2475
|
+
"updateFinding": "Could not update the finding",
|
|
2476
|
+
"requestRecommendations": "Could not request recommendations",
|
|
2477
|
+
"acceptRecommendation": "Could not accept the recommendation",
|
|
2478
|
+
"rejectRecommendation": "Could not reject the recommendation",
|
|
2479
|
+
"reRequestRecommendation": "Could not re-request the recommendation",
|
|
2480
|
+
"incorporate": "Could not incorporate the answers",
|
|
2481
|
+
"reReview": "Could not re-review the requirements",
|
|
2482
|
+
"proceed": "Could not proceed",
|
|
2483
|
+
"resolveReview": "Could not resolve the review"
|
|
2484
|
+
}
|
|
2485
|
+
},
|
|
2486
|
+
"clarity": {
|
|
2487
|
+
"title": "Bug-report triage",
|
|
2488
|
+
"iteration": "Iteration {current} / {max}",
|
|
2489
|
+
"intro": "An AI reviewer triaged this {level}'s bug report for fixability, its description plus any linked context, and raised the questions below. {answer} the relevant ones and {dismiss} the irrelevant, then incorporate them; the reviewer re-reviews until the bug report is clear enough to fix.",
|
|
2490
|
+
"@intro": {
|
|
2491
|
+
"description": "Sentence with named slots: {level} is the block type (frame/module/task or 'item'), {answer} and {dismiss} are styled verb spans rendered via i18n-t. Keep {answer}/{dismiss} as the imperative verbs."
|
|
2492
|
+
},
|
|
2493
|
+
"itemFallback": "item",
|
|
2494
|
+
"introAnswer": "Answer",
|
|
2495
|
+
"@introAnswer": {
|
|
2496
|
+
"description": "Imperative verb 'answer' (respond to a question), used as an inline emphasized span in the intro sentence."
|
|
2497
|
+
},
|
|
2498
|
+
"introDismiss": "dismiss",
|
|
2499
|
+
"@introDismiss": {
|
|
2500
|
+
"description": "Imperative verb 'dismiss' (wave off as irrelevant), used as an inline emphasized span in the intro sentence."
|
|
2501
|
+
},
|
|
2502
|
+
"empty": "No review yet. The reviewer runs automatically as the first step when this task's pipeline starts.",
|
|
2503
|
+
"loadingReview": "Loading the review…",
|
|
2504
|
+
"triaging": "Triaging the bug report…",
|
|
2505
|
+
"converged": "The bug report is clarified. The report below is what every downstream agent step uses.",
|
|
2506
|
+
"capHeading": "Reached the {max}-iteration limit with findings still open.",
|
|
2507
|
+
"capDetail": "Do one more review round, proceed to the next phase with the last clarified bug report anyway, or stop and reset the task so you can rework the bug report and resubmit.",
|
|
2508
|
+
"incorporatingStage": "Incorporating your answers into a clarified bug report… You can close this, we'll notify you only if more input is needed.",
|
|
2509
|
+
"reReviewingStage": "Re-reviewing the updated bug report… You can close this, we'll notify you only if more input is needed.",
|
|
2510
|
+
"answerLabel": "Answer",
|
|
2511
|
+
"@answerLabel": {
|
|
2512
|
+
"description": "Noun label heading the recorded reply to a finding (the answer that was given), not the verb."
|
|
2513
|
+
},
|
|
2514
|
+
"answerPlaceholder": "Answer this finding…",
|
|
2515
|
+
"refineAnswerPlaceholder": "Refine your answer…",
|
|
2516
|
+
"saveAnswer": "Save answer",
|
|
2517
|
+
"dismissIrrelevant": "Dismiss as irrelevant",
|
|
2518
|
+
"reopen": "Reopen",
|
|
2519
|
+
"docHeading": "Clarified bug report",
|
|
2520
|
+
"docHeadingDraft": "Clarified bug report (draft)",
|
|
2521
|
+
"rail": {
|
|
2522
|
+
"findings": "Findings",
|
|
2523
|
+
"open": "Open",
|
|
2524
|
+
"answered": "Answered",
|
|
2525
|
+
"model": "Model"
|
|
2526
|
+
},
|
|
2527
|
+
"proceedNothing": "Proceed (nothing to incorporate)",
|
|
2528
|
+
"incorporateAnswers": "Incorporate answers",
|
|
2529
|
+
"hint": {
|
|
2530
|
+
"proceed": "Every finding is dismissed, proceed to the next phase without reworking.",
|
|
2531
|
+
"incorporate": "Folds your answers into one clarified bug report, then re-reviews it automatically.",
|
|
2532
|
+
"answerAll": "Answer or dismiss every finding to continue."
|
|
2533
|
+
},
|
|
2534
|
+
"reReviewing": "Re-reviewing…",
|
|
2535
|
+
"looksGoodReReview": "Looks good — re-review",
|
|
2536
|
+
"redoIncorporation": "Redo incorporation",
|
|
2537
|
+
"redoPlaceholder": "What should the merge do differently?",
|
|
2538
|
+
"redoWithDirection": "Redo with this direction",
|
|
2539
|
+
"redoHint": "Re-review runs the reviewer against this report. If you're unhappy with how it was merged, redo it with a comment instead.",
|
|
2540
|
+
"incorporatedFooter": "Bug report clarified, the pipeline is continuing with the report on the left.",
|
|
2541
|
+
"severity": {
|
|
2542
|
+
"low": "low",
|
|
2543
|
+
"medium": "medium",
|
|
2544
|
+
"high": "high"
|
|
2545
|
+
},
|
|
2546
|
+
"category": {
|
|
2547
|
+
"gap": "gap",
|
|
2548
|
+
"clarification": "clarification",
|
|
2549
|
+
"assumption": "assumption",
|
|
2550
|
+
"risk": "risk",
|
|
2551
|
+
"question": "question"
|
|
2552
|
+
},
|
|
2553
|
+
"itemStatus": {
|
|
2554
|
+
"open": "open",
|
|
2555
|
+
"answered": "answered",
|
|
2556
|
+
"resolved": "resolved",
|
|
2557
|
+
"dismissed": "dismissed",
|
|
2558
|
+
"recommend_requested": "recommend requested"
|
|
2559
|
+
},
|
|
2560
|
+
"toast": {
|
|
2561
|
+
"clarifyingTitle": "Clarifying the bug report in the background",
|
|
2562
|
+
"clarifyingDescription": "You're back on the board, we'll notify you only if more input is needed.",
|
|
2563
|
+
"reReviewSatisfied": "Reviewer is satisfied — continuing the pipeline",
|
|
2564
|
+
"reReviewExceeded": "Iteration limit reached — choose how to proceed",
|
|
2565
|
+
"reReviewNewFindings": "no new findings to react to | one new finding to react to | {count} new findings to react to",
|
|
2566
|
+
"@reReviewNewFindings": {
|
|
2567
|
+
"description": "Plural by {count} of newly raised findings after a re-review. Polish/Ukrainian need three forms (one/few/many)."
|
|
2568
|
+
},
|
|
2569
|
+
"proceeding": "Proceeding to the next phase",
|
|
2570
|
+
"taskReset": "Task reset — edit the bug report and resubmit",
|
|
2571
|
+
"extraRoundGranted": "One more review round granted"
|
|
2572
|
+
},
|
|
2573
|
+
"error": {
|
|
2574
|
+
"saveAnswer": "Could not save the answer",
|
|
2575
|
+
"updateFinding": "Could not update the finding",
|
|
2576
|
+
"incorporate": "Could not incorporate the answers",
|
|
2577
|
+
"reReview": "Could not re-review the bug report",
|
|
2578
|
+
"proceed": "Could not proceed",
|
|
2579
|
+
"resolve": "Could not resolve the review"
|
|
2580
|
+
}
|
|
2581
|
+
},
|
|
2582
|
+
"consensus": {
|
|
2583
|
+
"titlePrefix": "Consensus",
|
|
2584
|
+
"participantCount": "no participants | one participant | {count} participants",
|
|
2585
|
+
"loading": "Loading consensus session…",
|
|
2586
|
+
"empty": "No consensus session has run for this step yet.",
|
|
2587
|
+
"failed": "Consensus failed: {error}",
|
|
2588
|
+
"unknownError": "unknown error",
|
|
2589
|
+
"synthesizedResult": "Synthesized result",
|
|
2590
|
+
"confidence": "confidence {pct}",
|
|
2591
|
+
"panel": "Panel",
|
|
2592
|
+
"topScore": "top {label} {pct}",
|
|
2593
|
+
"expert": "Expert {letter}",
|
|
2594
|
+
"participant": "Participant",
|
|
2595
|
+
"strategy": {
|
|
2596
|
+
"specialistPanel": "Specialist panel",
|
|
2597
|
+
"debate": "Debate",
|
|
2598
|
+
"rankedVoting": "Ranked voting"
|
|
2599
|
+
},
|
|
2600
|
+
"round": {
|
|
2601
|
+
"heading": "Round {n}",
|
|
2602
|
+
"contributions": "Contributions",
|
|
2603
|
+
"draft": "Independent drafts",
|
|
2604
|
+
"critique": "Critique & revision",
|
|
2605
|
+
"score": "Scoring"
|
|
2606
|
+
},
|
|
2607
|
+
"status": {
|
|
2608
|
+
"running": "Running",
|
|
2609
|
+
"synthesizing": "Synthesizing",
|
|
2610
|
+
"done": "Done",
|
|
2611
|
+
"failed": "Failed"
|
|
2612
|
+
}
|
|
2613
|
+
},
|
|
2614
|
+
"brainstorm": {
|
|
2615
|
+
"title": {
|
|
2616
|
+
"architecture": "Architecture brainstorm",
|
|
2617
|
+
"requirements": "Requirements brainstorm"
|
|
2618
|
+
},
|
|
2619
|
+
"subjectNoun": {
|
|
2620
|
+
"architecture": "approach",
|
|
2621
|
+
"requirements": "requirements"
|
|
2622
|
+
},
|
|
2623
|
+
"docNoun": {
|
|
2624
|
+
"architecture": "technical approach",
|
|
2625
|
+
"requirements": "requirements direction"
|
|
2626
|
+
},
|
|
2627
|
+
"iteration": "Iteration {current} / {max}",
|
|
2628
|
+
"intro": "An AI partner proposed the {subject} options below, each with its trade-offs. {choose} the ones you want (and steer them) and {dismiss} the rest, then incorporate; it re-runs until you converge on a {doc}.",
|
|
2629
|
+
"introChoose": "Choose",
|
|
2630
|
+
"introDismiss": "dismiss",
|
|
2631
|
+
"empty": "No brainstorm yet. It runs automatically when this task's pipeline reaches the brainstorm step.",
|
|
2632
|
+
"loading": "Loading the brainstorm…",
|
|
2633
|
+
"generating": "Generating options…",
|
|
2634
|
+
"settledBanner": "The {doc} is settled. The document below is what the next stage uses.",
|
|
2635
|
+
"exceeded": {
|
|
2636
|
+
"heading": "Reached the {max}-iteration limit with options still open.",
|
|
2637
|
+
"detail": "Do one more brainstorm round, proceed to the next phase with the last direction anyway, or stop and reset the task so you can edit it and resubmit."
|
|
2638
|
+
},
|
|
2639
|
+
"working": {
|
|
2640
|
+
"incorporating": "Folding your choices into a {doc}… You can close this — we'll notify you only if more input is needed.",
|
|
2641
|
+
"reReviewing": "Re-running the brainstorm on the updated direction… You can close this — we'll notify you only if more input is needed."
|
|
2642
|
+
},
|
|
2643
|
+
"severity": {
|
|
2644
|
+
"low": "low",
|
|
2645
|
+
"medium": "medium",
|
|
2646
|
+
"high": "high"
|
|
2647
|
+
},
|
|
2648
|
+
"category": {
|
|
2649
|
+
"gap": "gap",
|
|
2650
|
+
"clarification": "clarification",
|
|
2651
|
+
"assumption": "assumption",
|
|
2652
|
+
"risk": "risk",
|
|
2653
|
+
"question": "question"
|
|
2654
|
+
},
|
|
2655
|
+
"itemStatus": {
|
|
2656
|
+
"open": "open",
|
|
2657
|
+
"answered": "answered",
|
|
2658
|
+
"resolved": "resolved",
|
|
2659
|
+
"dismissed": "dismissed",
|
|
2660
|
+
"recommend_requested": "recommendation requested"
|
|
2661
|
+
},
|
|
2662
|
+
"yourChoice": "Your choice",
|
|
2663
|
+
"replyPlaceholder": {
|
|
2664
|
+
"refine": "Refine your choice…",
|
|
2665
|
+
"choose": "Choose / steer this option…"
|
|
2666
|
+
},
|
|
2667
|
+
"saveChoice": "Save choice",
|
|
2668
|
+
"dismiss": "Dismiss",
|
|
2669
|
+
"reopen": "Reopen",
|
|
2670
|
+
"docDraft": "{doc} (draft)",
|
|
2671
|
+
"rail": {
|
|
2672
|
+
"options": "Options",
|
|
2673
|
+
"open": "Open",
|
|
2674
|
+
"chosen": "Chosen",
|
|
2675
|
+
"model": "Model"
|
|
2676
|
+
},
|
|
2677
|
+
"proceedNothing": "Proceed (nothing to incorporate)",
|
|
2678
|
+
"incorporateChoices": "Incorporate choices",
|
|
2679
|
+
"hint": {
|
|
2680
|
+
"allDismissed": "Every option is dismissed — proceed to the next phase without a direction.",
|
|
2681
|
+
"incorporate": "Folds your choices into one {doc}, then re-runs the brainstorm automatically.",
|
|
2682
|
+
"chooseAll": "Choose or dismiss every option to continue."
|
|
2683
|
+
},
|
|
2684
|
+
"reRunning": "Re-running…",
|
|
2685
|
+
"reRun": "Looks good — re-run",
|
|
2686
|
+
"redoIncorporation": "Redo incorporation",
|
|
2687
|
+
"redoPlaceholder": "What should the direction do differently?",
|
|
2688
|
+
"redoWithDirection": "Redo with this direction",
|
|
2689
|
+
"mergedHint": "Re-run runs the agent against this direction. If you're unhappy with how it was merged, redo it with a comment instead.",
|
|
2690
|
+
"incorporatedFooter": "Direction settled — the pipeline is continuing with the document on the left.",
|
|
2691
|
+
"toast": {
|
|
2692
|
+
"saveChoiceError": "Could not save the choice",
|
|
2693
|
+
"updateOptionError": "Could not update the option",
|
|
2694
|
+
"incorporateError": "Could not incorporate the choices",
|
|
2695
|
+
"draftingTitle": "Drafting the {doc} in the background",
|
|
2696
|
+
"draftingDescription": "You're back on the board — we'll notify you only if more input is needed.",
|
|
2697
|
+
"reReviewSettled": "Direction settled — continuing the pipeline",
|
|
2698
|
+
"reReviewExceeded": "Iteration limit reached — choose how to proceed",
|
|
2699
|
+
"reReviewNewOptions": "no new options to react to | one new option to react to | {count} new options to react to",
|
|
2700
|
+
"@reReviewNewOptions": {
|
|
2701
|
+
"description": "Count of newly raised brainstorm options the user must react to; uses plural forms."
|
|
2702
|
+
},
|
|
2703
|
+
"reReviewError": "Could not re-run the brainstorm",
|
|
2704
|
+
"proceeding": "Proceeding to the next phase",
|
|
2705
|
+
"proceedError": "Could not proceed",
|
|
2706
|
+
"taskReset": "Task reset — edit it and resubmit",
|
|
2707
|
+
"extraRoundGranted": "One more brainstorm round granted",
|
|
2708
|
+
"resolveError": "Could not resolve the brainstorm"
|
|
2709
|
+
}
|
|
2710
|
+
},
|
|
2711
|
+
"spec": {
|
|
2712
|
+
"title": "Requirements",
|
|
2713
|
+
"loading": "Loading the specification…",
|
|
2714
|
+
"error": "Could not load the specification. Try reopening this window.",
|
|
2715
|
+
"overview": "Overview",
|
|
2716
|
+
"noFeatureGroups": "No feature groups",
|
|
2717
|
+
"noSummary": "No service summary.",
|
|
2718
|
+
"noGherkinForGroup": "No Gherkin scenarios for this group.",
|
|
2719
|
+
"noRequirements": "No requirements in this group.",
|
|
2720
|
+
"domainRules": "Domain rules",
|
|
2721
|
+
"ruleRationale": " — {rationale}",
|
|
2722
|
+
"moduleHint": "no modules. Select a feature group on the left to view its requirements. | 1 module. Select a feature group on the left to view its requirements. | {count} modules. Select a feature group on the left to view its requirements.",
|
|
2723
|
+
"moduleHintGherkin": "no modules. Select a feature group on the left to view its requirements or switch to the Gherkin scenarios. | 1 module. Select a feature group on the left to view its requirements or switch to the Gherkin scenarios. | {count} modules. Select a feature group on the left to view its requirements or switch to the Gherkin scenarios.",
|
|
2724
|
+
"mode": {
|
|
2725
|
+
"structured": "Structured",
|
|
2726
|
+
"gherkin": "Gherkin",
|
|
2727
|
+
"gherkinTooltip": "Gherkin scenarios",
|
|
2728
|
+
"gherkinNone": "No scenarios on main yet"
|
|
2729
|
+
},
|
|
2730
|
+
"empty": {
|
|
2731
|
+
"title": "No specification yet",
|
|
2732
|
+
"description": "This service has no spec on its default branch. A specification is generated as tasks run their pipelines; once it lands on main it will appear here, with its Gherkin scenarios."
|
|
2733
|
+
},
|
|
2734
|
+
"priority": {
|
|
2735
|
+
"must": "Must",
|
|
2736
|
+
"should": "Should",
|
|
2737
|
+
"could": "Could"
|
|
2738
|
+
},
|
|
2739
|
+
"kind": {
|
|
2740
|
+
"functional": "Functional",
|
|
2741
|
+
"nonfunctional": "Non-functional",
|
|
2742
|
+
"constraint": "Constraint"
|
|
2743
|
+
},
|
|
2744
|
+
"acceptance": {
|
|
2745
|
+
"given": "Given",
|
|
2746
|
+
"@given": {
|
|
2747
|
+
"description": "Gherkin keyword that opens a precondition clause. Keep verbatim — it is literal Gherkin syntax, not prose."
|
|
2748
|
+
},
|
|
2749
|
+
"when": "When",
|
|
2750
|
+
"@when": {
|
|
2751
|
+
"description": "Gherkin keyword that opens an action clause. Keep verbatim — it is literal Gherkin syntax, not prose."
|
|
2752
|
+
},
|
|
2753
|
+
"then": "Then",
|
|
2754
|
+
"@then": {
|
|
2755
|
+
"description": "Gherkin keyword that opens an expected-outcome clause. Keep verbatim — it is literal Gherkin syntax, not prose."
|
|
2756
|
+
}
|
|
2757
|
+
}
|
|
2758
|
+
},
|
|
2759
|
+
"followUp": {
|
|
2760
|
+
"title": "Follow-ups",
|
|
2761
|
+
"titleWithBlock": "Follow-ups — {title}",
|
|
2762
|
+
"subtitle": "Forward-looking follow-ups and questions the Coder surfaced. The pipeline continues once every item is decided.",
|
|
2763
|
+
"badge": {
|
|
2764
|
+
"toDecide": "{count} to decide | {count} to decide | {count} to decide",
|
|
2765
|
+
"allDecided": "All decided"
|
|
2766
|
+
},
|
|
2767
|
+
"empty": {
|
|
2768
|
+
"title": "No follow-ups yet.",
|
|
2769
|
+
"hint": "As the Coder works it streams loose ends, side-tasks and questions here. They appear live, so you can act on them before the Coder even finishes."
|
|
2770
|
+
},
|
|
2771
|
+
"suggested": "Suggested:",
|
|
2772
|
+
"viewIssue": "View issue",
|
|
2773
|
+
"yourAnswer": "Your answer:",
|
|
2774
|
+
"answerPlaceholder": "Answer this question — it's folded into the Coder's next pass…",
|
|
2775
|
+
"status": {
|
|
2776
|
+
"pending": "Needs a decision",
|
|
2777
|
+
"filed": "Filed as issue",
|
|
2778
|
+
"queued": "Sent to Coder",
|
|
2779
|
+
"answered": "Answered",
|
|
2780
|
+
"dismissed": "Dismissed"
|
|
2781
|
+
},
|
|
2782
|
+
"actions": {
|
|
2783
|
+
"answerAndSend": "Answer & send back",
|
|
2784
|
+
"dismiss": "Dismiss",
|
|
2785
|
+
"fileAsIssue": "File as issue",
|
|
2786
|
+
"sendToCoder": "Send to Coder"
|
|
2787
|
+
},
|
|
2788
|
+
"footer": {
|
|
2789
|
+
"summary": "{count} item · {undecided} undecided | {count} items · {undecided} undecided",
|
|
2790
|
+
"loops": "Coder loops used: {loops} / {max}"
|
|
2791
|
+
},
|
|
2792
|
+
"@footer.summary": {
|
|
2793
|
+
"description": "Item count drives the plural form; {undecided} is a separate interpolated count of still-undecided items, not the plural driver."
|
|
2794
|
+
}
|
|
2795
|
+
},
|
|
2796
|
+
"humanTest": {
|
|
2797
|
+
"title": "Human testing",
|
|
2798
|
+
"titleWithBlock": "Human testing — {title}",
|
|
2799
|
+
"subtitle": "Validate the change in a live environment",
|
|
2800
|
+
"notStarted": "This step hasn't started yet.",
|
|
2801
|
+
"confirm": "Looks good — continue",
|
|
2802
|
+
"phase": {
|
|
2803
|
+
"provisioning": "Provisioning environment…",
|
|
2804
|
+
"awaitingHuman": "Awaiting your validation",
|
|
2805
|
+
"fixing": "Fixer is addressing your findings…",
|
|
2806
|
+
"resolvingConflicts": "Resolving conflicts with main…",
|
|
2807
|
+
"passed": "Passed"
|
|
2808
|
+
},
|
|
2809
|
+
"envStatus": {
|
|
2810
|
+
"provisioning": "Provisioning…",
|
|
2811
|
+
"ready": "Ready",
|
|
2812
|
+
"failed": "Failed",
|
|
2813
|
+
"expired": "Expired",
|
|
2814
|
+
"tearingDown": "Tearing down…",
|
|
2815
|
+
"tornDown": "Destroyed"
|
|
2816
|
+
},
|
|
2817
|
+
"environment": {
|
|
2818
|
+
"heading": "Ephemeral environment",
|
|
2819
|
+
"noUrl": "No URL yet.",
|
|
2820
|
+
"expires": "Expires {date}",
|
|
2821
|
+
"none": "No live environment."
|
|
2822
|
+
},
|
|
2823
|
+
"actions": {
|
|
2824
|
+
"recreate": "Recreate",
|
|
2825
|
+
"destroy": "Destroy",
|
|
2826
|
+
"pullMain": "Pull main + redeploy"
|
|
2827
|
+
},
|
|
2828
|
+
"fix": {
|
|
2829
|
+
"heading": "Found a problem?",
|
|
2830
|
+
"cancel": "Cancel",
|
|
2831
|
+
"requestFix": "Request a fix",
|
|
2832
|
+
"placeholder": "Describe what went wrong — the Fixer agent gets this as context, then the environment is rebuilt for re-testing.",
|
|
2833
|
+
"send": "Send to Fixer"
|
|
2834
|
+
},
|
|
2835
|
+
"history": {
|
|
2836
|
+
"heading": "History (no rounds) | History (one round) | History ({count} rounds)",
|
|
2837
|
+
"fixRequested": "Fix requested",
|
|
2838
|
+
"pulledMain": "Pulled main"
|
|
2839
|
+
},
|
|
2840
|
+
"roundOutcome": {
|
|
2841
|
+
"completed": "completed",
|
|
2842
|
+
"failed": "failed",
|
|
2843
|
+
"inProgress": "in progress"
|
|
2844
|
+
}
|
|
2845
|
+
},
|
|
2846
|
+
"testing": {
|
|
2847
|
+
"title": "Test report",
|
|
2848
|
+
"subtitle": "Exploratory + regression testing of the change",
|
|
2849
|
+
"badge": {
|
|
2850
|
+
"greenlit": "Greenlit",
|
|
2851
|
+
"needsFixes": "Needs fixes"
|
|
2852
|
+
},
|
|
2853
|
+
"fixerAttempts": "Fixer attempts",
|
|
2854
|
+
"fixCount": "{attempts}/{max} fix",
|
|
2855
|
+
"fixingSuffix": "· fixing…",
|
|
2856
|
+
"empty": {
|
|
2857
|
+
"title": "No test report yet.",
|
|
2858
|
+
"hint": "The report appears once the Tester finishes a pass. While it runs, the step shows live progress on the board."
|
|
2859
|
+
},
|
|
2860
|
+
"scenariosOutcomes": "Scenarios & outcomes",
|
|
2861
|
+
"otherChecks": "Other checks",
|
|
2862
|
+
"checks": "Checks",
|
|
2863
|
+
"screenshotCount": "{count} screenshot | {count} screenshots",
|
|
2864
|
+
"checkCount": "{count} check | {count} checks",
|
|
2865
|
+
"concernCount": "{count} concern | {count} concerns",
|
|
2866
|
+
"noDiscreteCheck": "No discrete check recorded for this scenario.",
|
|
2867
|
+
"severity": {
|
|
2868
|
+
"critical": "critical",
|
|
2869
|
+
"high": "high",
|
|
2870
|
+
"medium": "medium",
|
|
2871
|
+
"low": "low"
|
|
2872
|
+
},
|
|
2873
|
+
"status": {
|
|
2874
|
+
"passed": "Passed",
|
|
2875
|
+
"failed": "Failed",
|
|
2876
|
+
"skipped": "Skipped"
|
|
2877
|
+
},
|
|
2878
|
+
"shot": {
|
|
2879
|
+
"failed": "Failed",
|
|
2880
|
+
"failedToLoad": "Failed to load",
|
|
2881
|
+
"loading": "Loading…"
|
|
2882
|
+
},
|
|
2883
|
+
"screenshotAlt": "{view} (screenshot)",
|
|
2884
|
+
"screenshots": "Screenshots",
|
|
2885
|
+
"verdict": {
|
|
2886
|
+
"heading": "Verdict",
|
|
2887
|
+
"safe": "Safe to release",
|
|
2888
|
+
"withheld": "Withheld"
|
|
2889
|
+
},
|
|
2890
|
+
"outcomes": {
|
|
2891
|
+
"heading": "Outcomes",
|
|
2892
|
+
"passed": "Passed",
|
|
2893
|
+
"failed": "Failed",
|
|
2894
|
+
"skipped": "Skipped",
|
|
2895
|
+
"concerns": "Concerns",
|
|
2896
|
+
"blocking": "({count} blocking) | ({count} blocking)"
|
|
2897
|
+
},
|
|
2898
|
+
"environment": "Environment",
|
|
2899
|
+
"footer": "Scenarios are the areas the Tester chose to exercise (its spec acceptance scenarios). Outcomes and concerns are grouped under them by name.",
|
|
2900
|
+
"@screenshotAlt": {
|
|
2901
|
+
"description": "Alt text for a captured screenshot thumbnail; {view} is the screen/view name. The literal word 'screenshot' should be localized."
|
|
2902
|
+
}
|
|
2903
|
+
},
|
|
2904
|
+
"visualConfirm": {
|
|
2905
|
+
"ariaLabel": "Visual confirmation",
|
|
2906
|
+
"title": "Visual confirmation",
|
|
2907
|
+
"titleWithBlock": "Visual confirmation — {title}",
|
|
2908
|
+
"subtitle": "Review the UI against the reference designs",
|
|
2909
|
+
"notStarted": "This step hasn't started yet.",
|
|
2910
|
+
"noScreenshots": "No screenshots were captured. Review the change manually, or upload a reference below.",
|
|
2911
|
+
"noteIssue": "Note an issue with {view}",
|
|
2912
|
+
"noted": "noted",
|
|
2913
|
+
"notePlaceholder": "What looks wrong on {view}?",
|
|
2914
|
+
"reviewedManually": "I've reviewed this manually",
|
|
2915
|
+
"recapture": "Recapture",
|
|
2916
|
+
"approve": "Approve — continue",
|
|
2917
|
+
"phase": {
|
|
2918
|
+
"awaiting_human": "Awaiting your review",
|
|
2919
|
+
"fixing": "Fixer is addressing your findings…",
|
|
2920
|
+
"approved": "Approved"
|
|
2921
|
+
},
|
|
2922
|
+
"outcome": {
|
|
2923
|
+
"completed": "completed",
|
|
2924
|
+
"failed": "failed",
|
|
2925
|
+
"inProgress": "in progress"
|
|
2926
|
+
},
|
|
2927
|
+
"lightbox": {
|
|
2928
|
+
"actualLabel": "{view} — actual",
|
|
2929
|
+
"actualAlt": "{view} (actual)",
|
|
2930
|
+
"referenceLabel": "{view} — reference",
|
|
2931
|
+
"referenceAlt": "{view} (reference)"
|
|
2932
|
+
},
|
|
2933
|
+
"upload": {
|
|
2934
|
+
"heading": "Upload a reference design",
|
|
2935
|
+
"viewPlaceholder": "View name (e.g. login)",
|
|
2936
|
+
"tipReady": "Tip: drop an image straight onto a pair above to set its reference.",
|
|
2937
|
+
"tipNeedView": "Enter a view name first, then choose a file. Or drop an image straight onto a pair above."
|
|
2938
|
+
},
|
|
2939
|
+
"requestFix": {
|
|
2940
|
+
"heading": "Request a fix",
|
|
2941
|
+
"placeholder": "Anything else the Fixer should know (in addition to any per-view notes above).",
|
|
2942
|
+
"foldedHint": "Per-view notes are folded in automatically.",
|
|
2943
|
+
"send": "Send to Fixer"
|
|
2944
|
+
},
|
|
2945
|
+
"history": {
|
|
2946
|
+
"heading": "History (no rounds) | History ({count} round) | History ({count} rounds)",
|
|
2947
|
+
"fixRequested": "Fix requested"
|
|
2948
|
+
}
|
|
2949
|
+
},
|
|
2950
|
+
"focus": {
|
|
2951
|
+
"board": "Board",
|
|
2952
|
+
"typeSubtitle": "{type} · focus view",
|
|
2953
|
+
"runPipeline": "Run pipeline",
|
|
2954
|
+
"rerunPipeline": "Re-run pipeline",
|
|
2955
|
+
"noPipelineRunning": "No pipeline running",
|
|
2956
|
+
"emptyPipelineHint": "Run a pipeline to visualize the agents working on this block.",
|
|
2957
|
+
"description": "Description",
|
|
2958
|
+
"overallProgress": "Overall progress",
|
|
2959
|
+
"dependencies": "Dependencies",
|
|
2960
|
+
"noDependencies": "None"
|
|
2381
2961
|
}
|
|
2382
2962
|
}
|