@cat-factory/app 0.181.0 → 0.182.1
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/README.md +11 -4
- package/app/components/board/nodes/BlockNode.vue +14 -4
- package/app/components/board/nodes/DraggableTask.vue +3 -2
- package/app/components/board/nodes/InitiativeCard.vue +27 -2
- package/app/components/board/nodes/TaskPipelineMini.vue +9 -12
- package/app/components/docs/DocInterviewWindow.vue +24 -3
- package/app/components/initiative/InitiativePlanningWindow.vue +27 -7
- package/app/components/initiative/InitiativeTrackerWindow.vue +149 -9
- package/app/components/panels/inspector/InitiativeInspector.vue +23 -2
- package/app/composables/useInitiativePlanning.ts +96 -8
- package/app/composables/useTaskExpansion.ts +30 -16
- package/app/modular/nav-contributions.spec.ts +13 -3
- package/app/modular/nav-contributions.ts +42 -32
- package/app/modular/panels/inspector.logic.ts +1 -1
- package/app/stores/taskExpansion.spec.ts +88 -0
- package/app/stores/taskExpansion.ts +34 -14
- package/app/utils/catalog.ts +5 -4
- package/app/utils/initiative.spec.ts +51 -1
- package/app/utils/initiative.ts +44 -0
- package/app/utils/interviewGate.spec.ts +87 -12
- package/app/utils/interviewGate.ts +57 -5
- package/i18n/locales/de.json +15 -1
- package/i18n/locales/en.json +15 -1
- package/i18n/locales/es.json +15 -1
- package/i18n/locales/fr.json +15 -1
- package/i18n/locales/he.json +15 -1
- package/i18n/locales/it.json +15 -1
- package/i18n/locales/ja.json +15 -1
- package/i18n/locales/pl.json +15 -1
- package/i18n/locales/tr.json +15 -1
- package/i18n/locales/uk.json +15 -1
- package/package.json +1 -1
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
DOC_INTERVIEWER_KIND,
|
|
4
|
+
INITIATIVE_INTERVIEWER_KIND,
|
|
5
|
+
interviewGatePhase,
|
|
6
|
+
interviewStepReached,
|
|
7
|
+
} from './interviewGate'
|
|
8
|
+
import type { ExecutionInstance } from '~/types/domain'
|
|
3
9
|
|
|
4
10
|
// `interviewGatePhase` is what stops continue/proceed reading as no-ops in BOTH interview windows
|
|
5
11
|
// (initiative planning, document interview): the resume is asynchronous — the HTTP call only wakes
|
|
@@ -7,45 +13,114 @@ import { interviewGatePhase } from './interviewGate'
|
|
|
7
13
|
// what distinguishes "parked, waiting on you" from "a pass is running", a distinction the entity
|
|
8
14
|
// alone cannot make.
|
|
9
15
|
|
|
16
|
+
/** The interview step has been reached — the default for every case not about the split below. */
|
|
17
|
+
const REACHED = true
|
|
18
|
+
|
|
10
19
|
describe('interviewGatePhase', () => {
|
|
11
20
|
it('is awaiting while the run is parked on the human', () => {
|
|
12
|
-
expect(interviewGatePhase('awaiting', 'blocked')).toBe('awaiting')
|
|
21
|
+
expect(interviewGatePhase('awaiting', 'blocked', REACHED)).toBe('awaiting')
|
|
13
22
|
})
|
|
14
23
|
|
|
15
24
|
it('is working once the resumed run is running again, even though the entity still says awaiting', () => {
|
|
16
25
|
// The exact regression: continue/proceed leave the entity's status untouched until the pass
|
|
17
26
|
// finishes, so an entity-only reading renders the same questions and looks like a dead button.
|
|
18
|
-
expect(interviewGatePhase('awaiting', 'running')).toBe('working')
|
|
27
|
+
expect(interviewGatePhase('awaiting', 'running', REACHED)).toBe('working')
|
|
19
28
|
})
|
|
20
29
|
|
|
21
30
|
it('is working for the FIRST pass, before any question exists', () => {
|
|
22
|
-
expect(interviewGatePhase(undefined, 'running')).toBe('working')
|
|
31
|
+
expect(interviewGatePhase(undefined, 'running', REACHED)).toBe('working')
|
|
23
32
|
})
|
|
24
33
|
|
|
25
34
|
it('is failed when the run stopped before the interview settled', () => {
|
|
26
35
|
// Must not stay `working`: a pass that dies would otherwise spin forever.
|
|
27
|
-
expect(interviewGatePhase('awaiting', 'failed')).toBe('failed')
|
|
28
|
-
expect(interviewGatePhase(undefined, 'failed')).toBe('failed')
|
|
36
|
+
expect(interviewGatePhase('awaiting', 'failed', REACHED)).toBe('failed')
|
|
37
|
+
expect(interviewGatePhase(undefined, 'failed', REACHED)).toBe('failed')
|
|
29
38
|
})
|
|
30
39
|
|
|
31
40
|
it('is converged once the interview settled, whatever the run went on to do', () => {
|
|
32
41
|
// `converged` outranks `failed`: a later step's failure belongs to that step, not the
|
|
33
42
|
// interview, and the block's own failure surface reports it.
|
|
34
|
-
expect(interviewGatePhase('done', 'running')).toBe('converged')
|
|
35
|
-
expect(interviewGatePhase('done', 'failed')).toBe('converged')
|
|
36
|
-
expect(interviewGatePhase('done', undefined)).toBe('converged')
|
|
43
|
+
expect(interviewGatePhase('done', 'running', REACHED)).toBe('converged')
|
|
44
|
+
expect(interviewGatePhase('done', 'failed', REACHED)).toBe('converged')
|
|
45
|
+
expect(interviewGatePhase('done', undefined, REACHED)).toBe('converged')
|
|
37
46
|
})
|
|
38
47
|
|
|
39
48
|
it('is idle when the interview never ran', () => {
|
|
40
|
-
expect(interviewGatePhase(undefined, undefined)).toBe('idle')
|
|
49
|
+
expect(interviewGatePhase(undefined, undefined, REACHED)).toBe('idle')
|
|
41
50
|
})
|
|
42
51
|
|
|
43
52
|
it('degrades to the entity-only reading when the run is not cached', () => {
|
|
44
53
|
// A window opened before the execution snapshot lands must show the questions, never a spinner.
|
|
45
|
-
expect(interviewGatePhase('awaiting', undefined)).toBe('awaiting')
|
|
54
|
+
expect(interviewGatePhase('awaiting', undefined, REACHED)).toBe('awaiting')
|
|
46
55
|
})
|
|
47
56
|
|
|
48
57
|
it('keeps a paused run answerable', () => {
|
|
49
|
-
expect(interviewGatePhase('awaiting', 'paused')).toBe('awaiting')
|
|
58
|
+
expect(interviewGatePhase('awaiting', 'paused', REACHED)).toBe('awaiting')
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
// Neither interview leads its pipeline — initiative planning explores the codebase first, the
|
|
63
|
+
// document pipeline researches and outlines first — and that lead-in is minutes of container work.
|
|
64
|
+
// Reported as `working` it claims an interviewer is chewing on answers the human was never asked
|
|
65
|
+
// for; these pin the split.
|
|
66
|
+
describe('interviewGatePhase — before the interview step is reached', () => {
|
|
67
|
+
it('is preparing while an EARLIER step is running', () => {
|
|
68
|
+
expect(interviewGatePhase(undefined, 'running', false)).toBe('preparing')
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
it('does not offer a stale previous round to answer during the lead-in', () => {
|
|
72
|
+
// On a re-plan the entity still carries the last run's questions until the gate's
|
|
73
|
+
// `resetForFreshRun` fires, which is now AFTER the lead-in. Reading those as `awaiting` would
|
|
74
|
+
// invite the human to answer a round about to be discarded.
|
|
75
|
+
expect(interviewGatePhase('awaiting', 'running', false)).toBe('preparing')
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
it('still reports a settled or failed run over the lead-in', () => {
|
|
79
|
+
expect(interviewGatePhase('done', 'running', false)).toBe('converged')
|
|
80
|
+
expect(interviewGatePhase(undefined, 'failed', false)).toBe('failed')
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
it('is unchanged when the run is not running at all', () => {
|
|
84
|
+
expect(interviewGatePhase('awaiting', 'blocked', false)).toBe('awaiting')
|
|
85
|
+
expect(interviewGatePhase(undefined, undefined, false)).toBe('idle')
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
const run = (kinds: string[], currentStep: number) =>
|
|
90
|
+
({ steps: kinds.map((agentKind) => ({ agentKind })), currentStep }) as Pick<
|
|
91
|
+
ExecutionInstance,
|
|
92
|
+
'steps' | 'currentStep'
|
|
93
|
+
>
|
|
94
|
+
|
|
95
|
+
describe('interviewStepReached', () => {
|
|
96
|
+
const PLANNING = ['initiative-analyst', INITIATIVE_INTERVIEWER_KIND, 'initiative-planner']
|
|
97
|
+
|
|
98
|
+
it('is false while an earlier step is current', () => {
|
|
99
|
+
expect(interviewStepReached(run(PLANNING, 0), INITIATIVE_INTERVIEWER_KIND)).toBe(false)
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
it('is true from the interview step onward', () => {
|
|
103
|
+
expect(interviewStepReached(run(PLANNING, 1), INITIATIVE_INTERVIEWER_KIND)).toBe(true)
|
|
104
|
+
expect(interviewStepReached(run(PLANNING, 2), INITIATIVE_INTERVIEWER_KIND)).toBe(true)
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
it('degrades to true when the run is not cached yet', () => {
|
|
108
|
+
// Over-reporting "still preparing" would leave a genuinely parked interview looking dormant,
|
|
109
|
+
// which is worse than generic copy — so an unknown run keeps the pre-existing reading.
|
|
110
|
+
// Both spellings of "no run": `useResultViewRunMeta` resolves to null, a store lookup to
|
|
111
|
+
// undefined, and the two windows use one each.
|
|
112
|
+
expect(interviewStepReached(undefined, INITIATIVE_INTERVIEWER_KIND)).toBe(true)
|
|
113
|
+
expect(interviewStepReached(null, INITIATIVE_INTERVIEWER_KIND)).toBe(true)
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
it('degrades to true for a chain carrying no such step', () => {
|
|
117
|
+
expect(
|
|
118
|
+
interviewStepReached(run(['doc-researcher', 'doc-writer'], 0), DOC_INTERVIEWER_KIND),
|
|
119
|
+
).toBe(true)
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
it('locates the document interviewer behind its own lead-in', () => {
|
|
123
|
+
const authoring = run(['doc-researcher', 'doc-outliner', DOC_INTERVIEWER_KIND], 1)
|
|
124
|
+
expect(interviewStepReached(authoring, DOC_INTERVIEWER_KIND)).toBe(false)
|
|
50
125
|
})
|
|
51
126
|
})
|
|
@@ -12,15 +12,57 @@ import type { ExecutionInstance } from '~/types/domain'
|
|
|
12
12
|
* disagree about whether there is anything to answer.
|
|
13
13
|
*
|
|
14
14
|
* - `idle` — the interview has not run yet (nothing to answer, nothing in flight).
|
|
15
|
+
* - `preparing` — the run is working on an EARLIER step; the interview has not begun.
|
|
15
16
|
* - `working` — an interviewer pass is running; the human waits.
|
|
16
17
|
* - `awaiting` — the run is parked on the human's answers.
|
|
17
18
|
* - `converged` — the interview settled; the run moved on.
|
|
18
19
|
* - `failed` — the run stopped before the interview settled.
|
|
19
20
|
*/
|
|
20
|
-
export type InterviewGatePhase =
|
|
21
|
+
export type InterviewGatePhase =
|
|
22
|
+
| 'idle'
|
|
23
|
+
| 'preparing'
|
|
24
|
+
| 'working'
|
|
25
|
+
| 'awaiting'
|
|
26
|
+
| 'converged'
|
|
27
|
+
| 'failed'
|
|
21
28
|
|
|
22
29
|
/**
|
|
23
|
-
*
|
|
30
|
+
* The agent kind of each gate's own step, which is what {@link interviewStepReached} locates in the
|
|
31
|
+
* run's chain. Kept here beside the phase they feed rather than inline at each window, so the two
|
|
32
|
+
* surfaces can't drift onto different spellings of the same step.
|
|
33
|
+
*/
|
|
34
|
+
export const INITIATIVE_INTERVIEWER_KIND = 'initiative-interviewer'
|
|
35
|
+
export const DOC_INTERVIEWER_KIND = 'doc-interviewer'
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Whether the run has REACHED the interview gate's own step — i.e. whether a running run is
|
|
39
|
+
* running the interviewer, or something ahead of it.
|
|
40
|
+
*
|
|
41
|
+
* Neither gate leads its pipeline: `pl_initiative` explores the codebase first, and the document
|
|
42
|
+
* pipeline researches and outlines first. Without this the whole of that lead-in reads as
|
|
43
|
+
* `working`, so the window claims an interviewer pass is chewing on answers the human has not
|
|
44
|
+
* given yet — for however long a container step takes.
|
|
45
|
+
*
|
|
46
|
+
* Degrades to `true` (today's reading, no `preparing` claim) when the run is not cached yet or the
|
|
47
|
+
* chain carries no such step: a phase that over-reports "we are still preparing" would leave a
|
|
48
|
+
* genuinely-parked interview looking dormant, which is worse than the copy being generic.
|
|
49
|
+
*
|
|
50
|
+
* Takes `null` as well as `undefined` because the two window seams spell "no run" differently —
|
|
51
|
+
* `useResultViewRunMeta` resolves to `null`, a store lookup to `undefined` — and both mean the same
|
|
52
|
+
* thing here.
|
|
53
|
+
*/
|
|
54
|
+
export function interviewStepReached(
|
|
55
|
+
run: Pick<ExecutionInstance, 'steps' | 'currentStep'> | null | undefined,
|
|
56
|
+
agentKind: string,
|
|
57
|
+
): boolean {
|
|
58
|
+
if (!run) return true
|
|
59
|
+
const index = run.steps.findIndex((step) => step.agentKind === agentKind)
|
|
60
|
+
return index < 0 || index <= run.currentStep
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the phase from the interview entity's status, its run's status, and whether the run has
|
|
65
|
+
* reached the interview step ({@link interviewStepReached}).
|
|
24
66
|
*
|
|
25
67
|
* The RUN status is load-bearing, not redundant. Continue/proceed are ASYNC by design: the HTTP
|
|
26
68
|
* call only records the intent on the parked step and wakes the durable driver, which then runs
|
|
@@ -35,17 +77,27 @@ export type InterviewGatePhase = 'idle' | 'working' | 'awaiting' | 'converged' |
|
|
|
35
77
|
* says so instead of spinning forever. An unknown run (no instance cached yet) degrades to the
|
|
36
78
|
* entity-only reading, never to a spinner.
|
|
37
79
|
*
|
|
80
|
+
* `stepReached` splits that running window in two, because "a pass is in flight" and "your turn is
|
|
81
|
+
* still coming" are different things to be told and the difference is minutes long. It is a
|
|
82
|
+
* REQUIRED argument rather than an optional one: a caller that omitted it would silently get the
|
|
83
|
+
* misleading half, which is the bug this exists to fix.
|
|
84
|
+
*
|
|
38
85
|
* `converged` wins over `failed` on purpose: once the interview settled, a later failure belongs
|
|
39
|
-
* to the step that failed (the
|
|
40
|
-
*
|
|
86
|
+
* to the step that failed (the planner, the writer), and the block's own failure surface reports
|
|
87
|
+
* it — the interview window claiming the interview broke would be wrong.
|
|
41
88
|
*/
|
|
42
89
|
export function interviewGatePhase(
|
|
43
90
|
status: 'awaiting' | 'done' | undefined,
|
|
44
91
|
runStatus: ExecutionInstance['status'] | undefined,
|
|
92
|
+
stepReached: boolean,
|
|
45
93
|
): InterviewGatePhase {
|
|
46
94
|
if (status === 'done') return 'converged'
|
|
47
95
|
if (runStatus === 'failed') return 'failed'
|
|
48
|
-
|
|
96
|
+
// Before `status === 'awaiting'`: on a re-plan the entity still carries the PREVIOUS run's
|
|
97
|
+
// questions until the gate's `resetForFreshRun` fires, which now happens after the lead-in
|
|
98
|
+
// steps. Reading those as "awaiting your answers" would invite a human to answer a round that
|
|
99
|
+
// is about to be discarded.
|
|
100
|
+
if (runStatus === 'running') return stepReached ? 'working' : 'preparing'
|
|
49
101
|
if (status === 'awaiting') return 'awaiting'
|
|
50
102
|
return 'idle'
|
|
51
103
|
}
|
package/i18n/locales/de.json
CHANGED
|
@@ -4282,21 +4282,33 @@
|
|
|
4282
4282
|
"inspector": {
|
|
4283
4283
|
"runPlanning": "Planung ausführen",
|
|
4284
4284
|
"answerPlanning": "Planungsfragen beantworten",
|
|
4285
|
+
"reviewPlan": "Plan prüfen",
|
|
4286
|
+
"resolveDecision": "Auflösen",
|
|
4285
4287
|
"planningInProgress": "Planung läuft",
|
|
4286
4288
|
"pause": "Pausieren",
|
|
4287
4289
|
"resume": "Fortsetzen",
|
|
4288
4290
|
"cancel": "Initiative abbrechen",
|
|
4289
4291
|
"hint": "Die Planning-Pipeline erkundet die Codebasis, entwirft den mehrphasigen Plan zur Freigabe und committet dann das Tracker-Dokument ins Repository."
|
|
4290
4292
|
},
|
|
4293
|
+
"planReview": {
|
|
4294
|
+
"title": "Dieser Plan wartet auf dich",
|
|
4295
|
+
"body": "Der Planner hat die Phasen und Aufgaben unten entworfen. Gib sie frei, um den Plan zu committen und die Arbeit zu starten, oder schicke den Plan mit deinen Änderungswünschen zurück.",
|
|
4296
|
+
"approve": "Plan freigeben",
|
|
4297
|
+
"requestChanges": "Änderungen anfordern",
|
|
4298
|
+
"feedbackPlaceholder": "Was soll der Planner ändern? Umfang, Reihenfolge der Phasen, fehlende Arbeit, eine Aufgabe, die woanders hingehört …",
|
|
4299
|
+
"sendBack": "An den Planner zurückschicken"
|
|
4300
|
+
},
|
|
4291
4301
|
"planning": {
|
|
4292
4302
|
"title": "Die Initiative planen",
|
|
4293
4303
|
"subtitle": "Beantworten Sie die Fragen des Planers, damit er die Initiative eingrenzen kann",
|
|
4294
4304
|
"intro": "Der Planer grenzt diese Initiative ein. Beantworten Sie seine Fragen, um Ziel und Einschränkungen zu formen, und senden Sie sie dann ab. Sie können ihn auch mit dem, was er bereits hat, jetzt planen lassen.",
|
|
4295
4305
|
"empty": "Keine Initiative für diesen Block gefunden.",
|
|
4296
4306
|
"converged": "Keine Fragen ausstehend. Der Planer hat, was er braucht, und entwirft den Plan.",
|
|
4297
|
-
"idle": "Die Planung wurde noch nicht gestartet. Führen Sie die Planung von der Initiative aus,
|
|
4307
|
+
"idle": "Die Planung wurde noch nicht gestartet. Führen Sie die Planung von der Initiative aus: Zuerst wird die Codebasis analysiert, danach werden Sie befragt.",
|
|
4298
4308
|
"working": "Der Planer verarbeitet Ihre Antworten",
|
|
4299
4309
|
"workingHint": "Das dauert einen Moment. Rückfragen erscheinen hier, sobald er fertig ist, oder er beginnt mit dem Entwurf des Plans, wenn ihm die Angaben genügen.",
|
|
4310
|
+
"preparing": "Die Codebasis wird vor dem Interview analysiert",
|
|
4311
|
+
"preparingHint": "Die Planung liest zuerst das Repository, damit Sie nicht nach dem gefragt werden, was der Code beantworten kann. Fragen erscheinen hier, sobald das erledigt ist.",
|
|
4300
4312
|
"failed": "Der Planungslauf wurde abgebrochen",
|
|
4301
4313
|
"failedHint": "Er endete, bevor der Planer antworten konnte. Ihre Antworten sind gespeichert; führen Sie die Planung von der Initiative aus erneut aus.",
|
|
4302
4314
|
"answerPlaceholder": "Ihre Antwort",
|
|
@@ -4647,6 +4659,8 @@
|
|
|
4647
4659
|
"converged": "Es stehen keine Fragen aus. Der Interviewer hat, was er braucht, und das Dokument wird entworfen.",
|
|
4648
4660
|
"working": "Der Interviewer verarbeitet deine Antworten",
|
|
4649
4661
|
"workingHint": "Das dauert einen Moment. Nachfragen erscheinen hier, sobald er fertig ist, oder der Entwurf beginnt, wenn ihm die Angaben genügen.",
|
|
4662
|
+
"preparing": "Das Dokument wird vor dem Interview recherchiert",
|
|
4663
|
+
"preparingHint": "Der Lauf sammelt zuerst Hintergrundwissen und entwirft eine Gliederung. Fragen erscheinen hier, sobald das erledigt ist.",
|
|
4650
4664
|
"failed": "Der Dokumentenlauf wurde abgebrochen",
|
|
4651
4665
|
"failedHint": "Er endete, bevor der Interviewer antworten konnte. Deine Antworten sind gespeichert; führe die Dokumentaufgabe erneut aus.",
|
|
4652
4666
|
"answerPlaceholder": "Deine Antwort",
|
package/i18n/locales/en.json
CHANGED
|
@@ -3678,6 +3678,8 @@
|
|
|
3678
3678
|
"converged": "No questions are pending. The interviewer has what it needs and the document is being drafted.",
|
|
3679
3679
|
"working": "The interviewer is working on your answers",
|
|
3680
3680
|
"workingHint": "This takes a moment. Follow-up questions appear here when it is done, or drafting starts if it has enough.",
|
|
3681
|
+
"preparing": "Researching the document before the interview",
|
|
3682
|
+
"preparingHint": "The run gathers background and drafts an outline first. Questions appear here once that is done.",
|
|
3681
3683
|
"failed": "The document run stopped",
|
|
3682
3684
|
"failedHint": "It ended before the interviewer could answer. Your answers are saved; re-run the document task to try again.",
|
|
3683
3685
|
"answerPlaceholder": "Your answer",
|
|
@@ -5457,21 +5459,33 @@
|
|
|
5457
5459
|
"inspector": {
|
|
5458
5460
|
"runPlanning": "Run planning",
|
|
5459
5461
|
"answerPlanning": "Answer planning questions",
|
|
5462
|
+
"reviewPlan": "Review plan",
|
|
5463
|
+
"resolveDecision": "Resolve",
|
|
5460
5464
|
"planningInProgress": "Planning in progress",
|
|
5461
5465
|
"pause": "Pause",
|
|
5462
5466
|
"resume": "Resume",
|
|
5463
5467
|
"cancel": "Cancel initiative",
|
|
5464
5468
|
"hint": "The planning pipeline explores the codebase, drafts the multi-phase plan for approval, then commits the tracker document to the repository."
|
|
5465
5469
|
},
|
|
5470
|
+
"planReview": {
|
|
5471
|
+
"title": "This plan is waiting for you",
|
|
5472
|
+
"body": "The planner drafted the phases and items below. Approve them to commit the plan and start the work, or send the plan back with what to change.",
|
|
5473
|
+
"approve": "Approve plan",
|
|
5474
|
+
"requestChanges": "Request changes",
|
|
5475
|
+
"feedbackPlaceholder": "What should the planner change? Scope, phase order, missing work, an item that belongs elsewhere…",
|
|
5476
|
+
"sendBack": "Send back to the planner"
|
|
5477
|
+
},
|
|
5466
5478
|
"planning": {
|
|
5467
5479
|
"title": "Plan the initiative",
|
|
5468
5480
|
"subtitle": "Answer the planner's questions so it can scope the initiative",
|
|
5469
5481
|
"intro": "The planner is scoping this initiative. Answer its questions to shape the goal and constraints, then submit them. You can also have it plan now with what it already has.",
|
|
5470
5482
|
"empty": "No initiative found for this block.",
|
|
5471
5483
|
"converged": "No questions are pending. The planner has what it needs and is drafting the plan.",
|
|
5472
|
-
"idle": "Planning has not started yet. Run planning from the initiative
|
|
5484
|
+
"idle": "Planning has not started yet. Run planning from the initiative: it analyzes the codebase first, then interviews you.",
|
|
5473
5485
|
"working": "The planner is working on your answers",
|
|
5474
5486
|
"workingHint": "This takes a moment. Follow-up questions appear here when it is done, or it starts drafting the plan if it has enough.",
|
|
5487
|
+
"preparing": "Exploring the codebase before the interview",
|
|
5488
|
+
"preparingHint": "Planning reads the repository first, so you are not asked what the code can answer. Questions appear here once that is done.",
|
|
5475
5489
|
"failed": "The planning run stopped",
|
|
5476
5490
|
"failedHint": "It ended before the planner could answer. Your answers are saved; re-run planning from the initiative to try again.",
|
|
5477
5491
|
"answerPlaceholder": "Your answer",
|
package/i18n/locales/es.json
CHANGED
|
@@ -3570,6 +3570,8 @@
|
|
|
3570
3570
|
"converged": "No hay preguntas pendientes. El entrevistador tiene lo que necesita y el documento se está redactando.",
|
|
3571
3571
|
"working": "El entrevistador está procesando tus respuestas",
|
|
3572
3572
|
"workingHint": "Esto tarda un momento. Las preguntas de seguimiento aparecerán aquí cuando termine, o empezará la redacción si ya tiene suficiente.",
|
|
3573
|
+
"preparing": "Investigando el documento antes de la entrevista",
|
|
3574
|
+
"preparingHint": "La ejecución primero reúne el contexto y esboza un esquema. Las preguntas aparecerán aquí cuando termine.",
|
|
3573
3575
|
"failed": "La ejecución del documento se detuvo",
|
|
3574
3576
|
"failedHint": "Terminó antes de que el entrevistador pudiera responder. Tus respuestas están guardadas; vuelve a ejecutar la tarea del documento.",
|
|
3575
3577
|
"answerPlaceholder": "Tu respuesta",
|
|
@@ -5292,21 +5294,33 @@
|
|
|
5292
5294
|
"inspector": {
|
|
5293
5295
|
"runPlanning": "Ejecutar planificacion",
|
|
5294
5296
|
"answerPlanning": "Responder preguntas de planificacion",
|
|
5297
|
+
"reviewPlan": "Revisar plan",
|
|
5298
|
+
"resolveDecision": "Resolver",
|
|
5295
5299
|
"planningInProgress": "Planificacion en curso",
|
|
5296
5300
|
"pause": "Pausar",
|
|
5297
5301
|
"resume": "Reanudar",
|
|
5298
5302
|
"cancel": "Cancelar iniciativa",
|
|
5299
5303
|
"hint": "El pipeline de planificacion explora el codigo, redacta el plan multifase para su aprobacion y luego confirma el documento de seguimiento en el repositorio."
|
|
5300
5304
|
},
|
|
5305
|
+
"planReview": {
|
|
5306
|
+
"title": "Este plan te está esperando",
|
|
5307
|
+
"body": "El planificador redactó las fases y los elementos de abajo. Apruébalos para confirmar el plan y empezar el trabajo, o devuelve el plan indicando qué cambiar.",
|
|
5308
|
+
"approve": "Aprobar plan",
|
|
5309
|
+
"requestChanges": "Solicitar cambios",
|
|
5310
|
+
"feedbackPlaceholder": "¿Qué debería cambiar el planificador? Alcance, orden de las fases, trabajo que falta, un elemento que va en otro sitio…",
|
|
5311
|
+
"sendBack": "Devolver al planificador"
|
|
5312
|
+
},
|
|
5301
5313
|
"planning": {
|
|
5302
5314
|
"title": "Planificar la iniciativa",
|
|
5303
5315
|
"subtitle": "Responde las preguntas del planificador para acotar la iniciativa",
|
|
5304
5316
|
"intro": "El planificador esta acotando esta iniciativa. Responde sus preguntas para definir el objetivo y las restricciones, y luego envialas. Tambien puedes pedirle que planifique ahora con lo que ya tiene.",
|
|
5305
5317
|
"empty": "No se encontro ninguna iniciativa para este bloque.",
|
|
5306
5318
|
"converged": "No hay preguntas pendientes. El planificador tiene lo que necesita y esta redactando el plan.",
|
|
5307
|
-
"idle": "La planificacion aun no ha comenzado. Ejecuta la planificacion desde la iniciativa
|
|
5319
|
+
"idle": "La planificacion aun no ha comenzado. Ejecuta la planificacion desde la iniciativa: primero analiza el codigo y despues te entrevista.",
|
|
5308
5320
|
"working": "El planificador esta procesando tus respuestas",
|
|
5309
5321
|
"workingHint": "Esto tarda un momento. Las preguntas de seguimiento apareceran aqui cuando termine, o empezara a redactar el plan si ya tiene suficiente.",
|
|
5322
|
+
"preparing": "Explorando el codigo antes de la entrevista",
|
|
5323
|
+
"preparingHint": "La planificacion lee primero el repositorio para no preguntarte lo que el codigo ya responde. Las preguntas apareceran aqui cuando termine.",
|
|
5310
5324
|
"failed": "La ejecucion de planificacion se detuvo",
|
|
5311
5325
|
"failedHint": "Termino antes de que el planificador pudiera responder. Tus respuestas estan guardadas; vuelve a ejecutar la planificacion desde la iniciativa.",
|
|
5312
5326
|
"answerPlaceholder": "Tu respuesta",
|
package/i18n/locales/fr.json
CHANGED
|
@@ -3570,6 +3570,8 @@
|
|
|
3570
3570
|
"converged": "Aucune question en attente. L'intervieweur a ce qu'il lui faut et le document est en cours de rédaction.",
|
|
3571
3571
|
"working": "L'intervieweur traite vos réponses",
|
|
3572
3572
|
"workingHint": "Cela prend un instant. Les questions complémentaires apparaîtront ici une fois terminé, ou la rédaction commencera s'il en a assez.",
|
|
3573
|
+
"preparing": "Recherche sur le document avant l'entretien",
|
|
3574
|
+
"preparingHint": "L'exécution rassemble d'abord le contexte et ébauche un plan. Les questions apparaîtront ici une fois terminé.",
|
|
3573
3575
|
"failed": "L'exécution du document s'est arrêtée",
|
|
3574
3576
|
"failedHint": "Elle s'est terminée avant que l'intervieweur puisse répondre. Vos réponses sont enregistrées ; relancez la tâche du document.",
|
|
3575
3577
|
"answerPlaceholder": "Votre réponse",
|
|
@@ -5292,21 +5294,33 @@
|
|
|
5292
5294
|
"inspector": {
|
|
5293
5295
|
"runPlanning": "Lancer la planification",
|
|
5294
5296
|
"answerPlanning": "Repondre aux questions de planification",
|
|
5297
|
+
"reviewPlan": "Examiner le plan",
|
|
5298
|
+
"resolveDecision": "Résoudre",
|
|
5295
5299
|
"planningInProgress": "Planification en cours",
|
|
5296
5300
|
"pause": "Mettre en pause",
|
|
5297
5301
|
"resume": "Reprendre",
|
|
5298
5302
|
"cancel": "Annuler l'initiative",
|
|
5299
5303
|
"hint": "Le pipeline de planification explore le code, redige le plan multiphase pour approbation, puis valide le document de suivi dans le depot."
|
|
5300
5304
|
},
|
|
5305
|
+
"planReview": {
|
|
5306
|
+
"title": "Ce plan vous attend",
|
|
5307
|
+
"body": "Le planificateur a rédigé les phases et les éléments ci-dessous. Approuvez-les pour valider le plan et lancer le travail, ou renvoyez le plan en indiquant ce qu'il faut changer.",
|
|
5308
|
+
"approve": "Approuver le plan",
|
|
5309
|
+
"requestChanges": "Demander des modifications",
|
|
5310
|
+
"feedbackPlaceholder": "Que doit changer le planificateur ? Périmètre, ordre des phases, travail manquant, un élément qui a sa place ailleurs…",
|
|
5311
|
+
"sendBack": "Renvoyer au planificateur"
|
|
5312
|
+
},
|
|
5301
5313
|
"planning": {
|
|
5302
5314
|
"title": "Planifier l'initiative",
|
|
5303
5315
|
"subtitle": "Repondez aux questions du planificateur pour cadrer l'initiative",
|
|
5304
5316
|
"intro": "Le planificateur cadre cette initiative. Repondez a ses questions pour definir l'objectif et les contraintes, puis envoyez-les. Vous pouvez aussi lui demander de planifier maintenant avec ce qu'il a deja.",
|
|
5305
5317
|
"empty": "Aucune initiative trouvee pour ce bloc.",
|
|
5306
5318
|
"converged": "Aucune question en attente. Le planificateur dispose de ce qu'il faut et redige le plan.",
|
|
5307
|
-
"idle": "La planification n'a pas encore demarre. Lancez la planification depuis l'initiative
|
|
5319
|
+
"idle": "La planification n'a pas encore demarre. Lancez la planification depuis l'initiative : elle analyse d'abord le code, puis vous interroge.",
|
|
5308
5320
|
"working": "Le planificateur traite vos reponses",
|
|
5309
5321
|
"workingHint": "Cela prend un instant. Les questions complementaires apparaitront ici une fois termine, ou il commencera a rediger le plan s'il en a assez.",
|
|
5322
|
+
"preparing": "Exploration du code avant l'entretien",
|
|
5323
|
+
"preparingHint": "La planification lit d'abord le depot afin de ne pas vous demander ce que le code peut repondre. Les questions apparaitront ici une fois termine.",
|
|
5310
5324
|
"failed": "L'execution de planification s'est arretee",
|
|
5311
5325
|
"failedHint": "Elle s'est terminee avant que le planificateur puisse repondre. Vos reponses sont enregistrees ; relancez la planification depuis l'initiative.",
|
|
5312
5326
|
"answerPlaceholder": "Votre reponse",
|
package/i18n/locales/he.json
CHANGED
|
@@ -3581,6 +3581,8 @@
|
|
|
3581
3581
|
"converged": "אין שאלות ממתינות. למראיין יש את מה שהוא צריך והמסמך בכתיבה.",
|
|
3582
3582
|
"working": "המראיין מעבד את התשובות שלך",
|
|
3583
3583
|
"workingHint": "זה לוקח רגע. שאלות המשך יופיעו כאן בסיום, או שתתחיל כתיבת הטיוטה אם יש לו מספיק מידע.",
|
|
3584
|
+
"preparing": "המסמך נחקר לפני הראיון",
|
|
3585
|
+
"preparingHint": "ההרצה אוספת תחילה רקע ומכינה מתאר. שאלות יופיעו כאן בסיום.",
|
|
3584
3586
|
"failed": "הרצת המסמך נעצרה",
|
|
3585
3587
|
"failedHint": "היא הסתיימה לפני שהמראיין הספיק להשיב. התשובות שלך נשמרו; הריצו מחדש את משימת המסמך.",
|
|
3586
3588
|
"answerPlaceholder": "התשובה שלך",
|
|
@@ -5303,21 +5305,33 @@
|
|
|
5303
5305
|
"inspector": {
|
|
5304
5306
|
"runPlanning": "הרצת תכנון",
|
|
5305
5307
|
"answerPlanning": "מענה על שאלות התכנון",
|
|
5308
|
+
"reviewPlan": "בדיקת התוכנית",
|
|
5309
|
+
"resolveDecision": "פתור",
|
|
5306
5310
|
"planningInProgress": "התכנון מתבצע",
|
|
5307
5311
|
"pause": "השהה",
|
|
5308
5312
|
"resume": "המשך",
|
|
5309
5313
|
"cancel": "ביטול היוזמה",
|
|
5310
5314
|
"hint": "צינור התכנון חוקר את הקוד, מנסח את התוכנית הרב-שלבית לאישור, ואז שומר את מסמך המעקב במאגר."
|
|
5311
5315
|
},
|
|
5316
|
+
"planReview": {
|
|
5317
|
+
"title": "התוכנית הזו ממתינה לך",
|
|
5318
|
+
"body": "המתכנן ניסח את השלבים והפריטים שלמטה. אשרו אותם כדי לשמור את התוכנית ולהתחיל בעבודה, או החזירו את התוכנית עם מה שצריך לשנות.",
|
|
5319
|
+
"approve": "אישור התוכנית",
|
|
5320
|
+
"requestChanges": "בקשת שינויים",
|
|
5321
|
+
"feedbackPlaceholder": "מה המתכנן צריך לשנות? היקף, סדר השלבים, עבודה חסרה, פריט ששייך למקום אחר…",
|
|
5322
|
+
"sendBack": "החזרה למתכנן"
|
|
5323
|
+
},
|
|
5312
5324
|
"planning": {
|
|
5313
5325
|
"title": "תכנון היוזמה",
|
|
5314
5326
|
"subtitle": "ענה על שאלות המתכנן כדי למקד את היוזמה",
|
|
5315
5327
|
"intro": "המתכנן ממקד את היוזמה. ענה על שאלותיו כדי לעצב את המטרה והאילוצים, ואז שלח את התשובות. אפשר גם לבקש ממנו לתכנן עכשיו עם מה שכבר יש לו.",
|
|
5316
5328
|
"empty": "לא נמצאה יוזמה עבור בלוק זה.",
|
|
5317
5329
|
"converged": "אין שאלות ממתינות. למתכנן יש את מה שנדרש והוא מנסח את התוכנית.",
|
|
5318
|
-
"idle": "התכנון עדיין לא התחיל. הרץ תכנון
|
|
5330
|
+
"idle": "התכנון עדיין לא התחיל. הרץ תכנון מהיוזמה: תחילה הוא מנתח את בסיס הקוד ולאחר מכן מראיין אותך.",
|
|
5319
5331
|
"working": "המתכנן מעבד את התשובות שלך",
|
|
5320
5332
|
"workingHint": "זה לוקח רגע. שאלות המשך יופיעו כאן בסיום, או שהוא יתחיל לנסח את התוכנית אם יש לו מספיק מידע.",
|
|
5333
|
+
"preparing": "בסיס הקוד נסרק לפני הראיון",
|
|
5334
|
+
"preparingHint": "התכנון קורא תחילה את המאגר כדי שלא תישאל על מה שהקוד יכול לענות. השאלות יופיעו כאן בסיום.",
|
|
5321
5335
|
"failed": "הרצת התכנון נעצרה",
|
|
5322
5336
|
"failedHint": "היא הסתיימה לפני שהמתכנן הספיק להשיב. התשובות שלך נשמרו; הרץ תכנון מחדש מהיוזמה.",
|
|
5323
5337
|
"answerPlaceholder": "התשובה שלך",
|
package/i18n/locales/it.json
CHANGED
|
@@ -4282,21 +4282,33 @@
|
|
|
4282
4282
|
"inspector": {
|
|
4283
4283
|
"runPlanning": "Esegui pianificazione",
|
|
4284
4284
|
"answerPlanning": "Rispondi alle domande di pianificazione",
|
|
4285
|
+
"reviewPlan": "Rivedi il piano",
|
|
4286
|
+
"resolveDecision": "Risolvi",
|
|
4285
4287
|
"planningInProgress": "Pianificazione in corso",
|
|
4286
4288
|
"pause": "Pausa",
|
|
4287
4289
|
"resume": "Riprendi",
|
|
4288
4290
|
"cancel": "Annulla iniziativa",
|
|
4289
4291
|
"hint": "La pipeline di pianificazione esplora il codebase, redige il piano multi-fase per l'approvazione, poi effettua il commit del documento del tracker nel repository."
|
|
4290
4292
|
},
|
|
4293
|
+
"planReview": {
|
|
4294
|
+
"title": "Questo piano ti sta aspettando",
|
|
4295
|
+
"body": "Il planner ha redatto le fasi e gli elementi qui sotto. Approvali per confermare il piano e avviare il lavoro, oppure rimanda indietro il piano indicando cosa cambiare.",
|
|
4296
|
+
"approve": "Approva il piano",
|
|
4297
|
+
"requestChanges": "Richiedi modifiche",
|
|
4298
|
+
"feedbackPlaceholder": "Cosa deve cambiare il planner? Ambito, ordine delle fasi, lavoro mancante, un elemento che sta altrove…",
|
|
4299
|
+
"sendBack": "Rimanda al planner"
|
|
4300
|
+
},
|
|
4291
4301
|
"planning": {
|
|
4292
4302
|
"title": "Pianifica l'iniziativa",
|
|
4293
4303
|
"subtitle": "Rispondi alle domande del pianificatore affinche possa definire l'ambito dell'iniziativa",
|
|
4294
4304
|
"intro": "Il pianificatore sta definendo l'ambito di questa iniziativa. Rispondi alle sue domande per dare forma all'obiettivo e ai vincoli, poi invia le risposte. Puoi anche chiedergli di pianificare subito con quello che ha gia.",
|
|
4295
4305
|
"empty": "Nessuna iniziativa trovata per questo blocco.",
|
|
4296
4306
|
"converged": "Nessuna domanda in sospeso. Il pianificatore ha cio che gli serve e sta redigendo il piano.",
|
|
4297
|
-
"idle": "La pianificazione non e ancora iniziata. Esegui la pianificazione dall'iniziativa
|
|
4307
|
+
"idle": "La pianificazione non e ancora iniziata. Esegui la pianificazione dall'iniziativa: prima analizza il codice, poi ti intervista.",
|
|
4298
4308
|
"working": "Il pianificatore sta elaborando le tue risposte",
|
|
4299
4309
|
"workingHint": "Richiede qualche istante. Le domande di follow-up compariranno qui al termine, oppure iniziera a redigere il piano se ha abbastanza informazioni.",
|
|
4310
|
+
"preparing": "Esplorazione del codice prima dell'intervista",
|
|
4311
|
+
"preparingHint": "La pianificazione legge prima il repository, cosi non ti viene chiesto cio che il codice puo rispondere. Le domande compariranno qui al termine.",
|
|
4300
4312
|
"failed": "L'esecuzione della pianificazione si e interrotta",
|
|
4301
4313
|
"failedHint": "Si e conclusa prima che il pianificatore potesse rispondere. Le tue risposte sono salvate; riesegui la pianificazione dall'iniziativa.",
|
|
4302
4314
|
"answerPlaceholder": "La tua risposta",
|
|
@@ -4647,6 +4659,8 @@
|
|
|
4647
4659
|
"converged": "Nessuna domanda in sospeso. L'intervistatore ha ciò che gli serve e il documento è in fase di redazione.",
|
|
4648
4660
|
"working": "L'intervistatore sta elaborando le tue risposte",
|
|
4649
4661
|
"workingHint": "Richiede qualche istante. Le domande di follow-up compariranno qui al termine, oppure inizierà la stesura se ha abbastanza informazioni.",
|
|
4662
|
+
"preparing": "Ricerca sul documento prima dell'intervista",
|
|
4663
|
+
"preparingHint": "L'esecuzione raccoglie prima il contesto e abbozza una scaletta. Le domande compariranno qui al termine.",
|
|
4650
4664
|
"failed": "L'esecuzione del documento si è interrotta",
|
|
4651
4665
|
"failedHint": "Si è conclusa prima che l'intervistatore potesse rispondere. Le tue risposte sono salvate; riesegui l'attività del documento.",
|
|
4652
4666
|
"answerPlaceholder": "La tua risposta",
|
package/i18n/locales/ja.json
CHANGED
|
@@ -3582,6 +3582,8 @@
|
|
|
3582
3582
|
"converged": "保留中の質問はありません。インタビュアーは必要な情報を得ており、ドキュメントを下書き中です。",
|
|
3583
3583
|
"working": "インタビュアーが回答を処理しています",
|
|
3584
3584
|
"workingHint": "少し時間がかかります。完了すると追加の質問がここに表示されます。情報が十分な場合は下書きの作成を開始します。",
|
|
3585
|
+
"preparing": "インタビューの前に資料を調査しています",
|
|
3586
|
+
"preparingHint": "実行はまず背景情報を集めてアウトラインを作成します。完了すると質問がここに表示されます。",
|
|
3585
3587
|
"failed": "ドキュメントの実行が停止しました",
|
|
3586
3588
|
"failedHint": "インタビュアーが応答する前に終了しました。回答は保存されています。ドキュメントのタスクを再実行してください。",
|
|
3587
3589
|
"answerPlaceholder": "回答",
|
|
@@ -5304,21 +5306,33 @@
|
|
|
5304
5306
|
"inspector": {
|
|
5305
5307
|
"runPlanning": "計画を実行",
|
|
5306
5308
|
"answerPlanning": "計画の質問に回答",
|
|
5309
|
+
"reviewPlan": "計画をレビュー",
|
|
5310
|
+
"resolveDecision": "解決",
|
|
5307
5311
|
"planningInProgress": "計画を実行中",
|
|
5308
5312
|
"pause": "一時停止",
|
|
5309
5313
|
"resume": "再開",
|
|
5310
5314
|
"cancel": "イニシアチブをキャンセル",
|
|
5311
5315
|
"hint": "計画パイプラインはコードベースを調査し、承認用の複数フェーズ計画を起草し、その後トラッカー文書をリポジトリにコミットします。"
|
|
5312
5316
|
},
|
|
5317
|
+
"planReview": {
|
|
5318
|
+
"title": "この計画が承認を待っています",
|
|
5319
|
+
"body": "プランナーが以下のフェーズと項目を起草しました。承認すると計画がコミットされ、作業が始まります。変更したい点がある場合は、その内容を添えて計画を差し戻してください。",
|
|
5320
|
+
"approve": "計画を承認",
|
|
5321
|
+
"requestChanges": "変更を依頼",
|
|
5322
|
+
"feedbackPlaceholder": "プランナーに変更してほしい点は何ですか。範囲、フェーズの順序、不足している作業、別の場所に属する項目など…",
|
|
5323
|
+
"sendBack": "プランナーに差し戻す"
|
|
5324
|
+
},
|
|
5313
5325
|
"planning": {
|
|
5314
5326
|
"title": "イニシアチブを計画",
|
|
5315
5327
|
"subtitle": "プランナーの質問に答えてイニシアチブの範囲を定めます",
|
|
5316
5328
|
"intro": "プランナーがこのイニシアチブの範囲を検討しています。質問に答えて目標と制約を形にし、回答を送信してください。現状の情報のまま計画を作成させることもできます。",
|
|
5317
5329
|
"empty": "このブロックのイニシアチブが見つかりません。",
|
|
5318
5330
|
"converged": "保留中の質問はありません。プランナーは必要な情報を得て計画を作成しています。",
|
|
5319
|
-
"idle": "
|
|
5331
|
+
"idle": "計画はまだ開始されていません。イニシアチブから計画を実行すると、まずコードベースを分析し、その後にインタビューが行われます。",
|
|
5320
5332
|
"working": "プランナーが回答を処理しています",
|
|
5321
5333
|
"workingHint": "少し時間がかかります。完了すると追加の質問がここに表示されます。情報が十分な場合は計画の作成を開始します。",
|
|
5334
|
+
"preparing": "インタビューの前にコードベースを分析しています",
|
|
5335
|
+
"preparingHint": "計画はまずリポジトリを読み取るため、コードから分かることは質問されません。完了すると質問がここに表示されます。",
|
|
5322
5336
|
"failed": "計画の実行が停止しました",
|
|
5323
5337
|
"failedHint": "プランナーが応答する前に終了しました。回答は保存されています。イニシアチブから計画を再実行してください。",
|
|
5324
5338
|
"answerPlaceholder": "回答",
|
package/i18n/locales/pl.json
CHANGED
|
@@ -3570,6 +3570,8 @@
|
|
|
3570
3570
|
"converged": "Brak oczekujących pytań. Ankieter ma to, czego potrzebuje, a dokument jest redagowany.",
|
|
3571
3571
|
"working": "Ankieter przetwarza Twoje odpowiedzi",
|
|
3572
3572
|
"workingHint": "To chwilę potrwa. Pytania uzupełniające pojawią się tutaj po zakończeniu, a jeśli informacji wystarczy, rozpocznie się redagowanie.",
|
|
3573
|
+
"preparing": "Badanie dokumentu przed wywiadem",
|
|
3574
|
+
"preparingHint": "Uruchomienie najpierw zbiera materiały i szkicuje konspekt. Pytania pojawią się tutaj po zakończeniu.",
|
|
3573
3575
|
"failed": "Uruchomienie dokumentu zostało przerwane",
|
|
3574
3576
|
"failedHint": "Zakończyło się, zanim ankieter zdążył odpowiedzieć. Twoje odpowiedzi są zapisane; uruchom zadanie dokumentu ponownie.",
|
|
3575
3577
|
"answerPlaceholder": "Twoja odpowiedź",
|
|
@@ -5292,21 +5294,33 @@
|
|
|
5292
5294
|
"inspector": {
|
|
5293
5295
|
"runPlanning": "Uruchom planowanie",
|
|
5294
5296
|
"answerPlanning": "Odpowiedz na pytania planowania",
|
|
5297
|
+
"reviewPlan": "Przejrzyj plan",
|
|
5298
|
+
"resolveDecision": "Rozwiąż",
|
|
5295
5299
|
"planningInProgress": "Planowanie w toku",
|
|
5296
5300
|
"pause": "Wstrzymaj",
|
|
5297
5301
|
"resume": "Wznow",
|
|
5298
5302
|
"cancel": "Anuluj inicjatywe",
|
|
5299
5303
|
"hint": "Pipeline planowania bada kod, przygotowuje wielofazowy plan do zatwierdzenia, a nastepnie zapisuje dokument trackera w repozytorium."
|
|
5300
5304
|
},
|
|
5305
|
+
"planReview": {
|
|
5306
|
+
"title": "Ten plan czeka na Ciebie",
|
|
5307
|
+
"body": "Planer przygotował poniższe fazy i elementy. Zatwierdź je, aby zapisać plan i rozpocząć pracę, albo odeślij plan z informacją, co zmienić.",
|
|
5308
|
+
"approve": "Zatwierdź plan",
|
|
5309
|
+
"requestChanges": "Poproś o zmiany",
|
|
5310
|
+
"feedbackPlaceholder": "Co planer ma zmienić? Zakres, kolejność faz, brakująca praca, element, który pasuje gdzie indziej…",
|
|
5311
|
+
"sendBack": "Odeślij do planera"
|
|
5312
|
+
},
|
|
5301
5313
|
"planning": {
|
|
5302
5314
|
"title": "Zaplanuj inicjatywe",
|
|
5303
5315
|
"subtitle": "Odpowiedz na pytania planisty, aby okreslic zakres inicjatywy",
|
|
5304
5316
|
"intro": "Planista okresla zakres tej inicjatywy. Odpowiedz na pytania, aby uksztaltowac cel i ograniczenia, a nastepnie wyslij odpowiedzi. Mozesz tez poprosic go, aby zaplanowal teraz na podstawie tego, co juz ma.",
|
|
5305
5317
|
"empty": "Nie znaleziono inicjatywy dla tego bloku.",
|
|
5306
5318
|
"converged": "Brak oczekujacych pytan. Planista ma to, czego potrzebuje, i tworzy plan.",
|
|
5307
|
-
"idle": "Planowanie jeszcze sie nie rozpoczelo. Uruchom planowanie z poziomu inicjatywy,
|
|
5319
|
+
"idle": "Planowanie jeszcze sie nie rozpoczelo. Uruchom planowanie z poziomu inicjatywy: najpierw analizuje kod, a potem przeprowadza z toba wywiad.",
|
|
5308
5320
|
"working": "Planista przetwarza Twoje odpowiedzi",
|
|
5309
5321
|
"workingHint": "To chwile potrwa. Pytania uzupelniajace pojawia sie tutaj po zakonczeniu, a jesli informacji wystarczy, planista zacznie tworzyc plan.",
|
|
5322
|
+
"preparing": "Analiza kodu przed wywiadem",
|
|
5323
|
+
"preparingHint": "Planowanie najpierw czyta repozytorium, wiec nie zapyta Cie o to, co wynika z kodu. Pytania pojawia sie tutaj po zakonczeniu.",
|
|
5310
5324
|
"failed": "Uruchomienie planowania zostalo przerwane",
|
|
5311
5325
|
"failedHint": "Zakonczylo sie, zanim planista zdazyl odpowiedziec. Twoje odpowiedzi sa zapisane; uruchom planowanie ponownie z poziomu inicjatywy.",
|
|
5312
5326
|
"answerPlaceholder": "Twoja odpowiedz",
|