Disco ParrotDisco Parrot Home
Docs
Request a Demo

Work items, fields, and types

Every record Disco Parrot keeps, the fields on each one, the seven plan types, and the bug values for severity, priority, and resolution. The field-by-field reference behind the work model.

This is the field-level map of the work model: every record type Disco Parrot keeps, the fields it carries, and the exact values an enum field can take. The guides tell you what a record is for; this page tells you exactly what it holds. When you are building a filtered view that keys off a precise field, configuring a workflow, or deciding which type a plan should be, this is where you confirm the name and the shape rather than infer them from a form.

The records and how they relate are covered in depth on the SDLC work model page and in each entity's own guide under plan and track work. This page is the flat reference those guides point back to. The lifecycle a record moves through, its statuses and the transitions between them, lives on the statuses and status machines page; here you will find the status field named, with its values cross-linked there.

PortfolioProjectInitiativePlanlinkscontainsdecomposesGoalprogress rolls upBugTest caserequiredrequiredoptionalSprint, a window Plans and Bugs commit toSolid lines are structural. Dashed lines are derived or optional.
How the records relate. A spine of portfolio, project, initiative, and plan, with bugs and test cases off initiatives, a sprint cutting across as a delivery window, and a goal whose progress rolls up.

How records relate

The shape comes before the field tables, because the tables make more sense once you can see how the records point at one another. The work hangs off a short spine: a portfolio links projects, a project holds initiatives, an initiative decomposes into plans. Bugs and test cases hang off the same initiatives, a bug optionally off a plan as well, and a sprint cuts across the whole thing as a delivery window that plans and bugs commit to. A goal sits to the side and draws its progress up from the initiatives beneath it rather than carrying a number of its own. The tables below name every field on each of these records; the map above is how they point at one another. Two links are worth holding onto as you read: a bug requires an initiative but a plan is optional, and a goal's connection to its initiatives is a rollup, not a structural parent.

Fields every record carries

A handful of fields are common to every work item, so they are worth settling once here rather than repeating in each table below.

FieldMeaning
Title or nameThe record's heading. Initiatives, plans, and bugs use a title; projects, portfolios, sprints, and goals use a name.
Body or descriptionThe long-form content. Initiatives and plans carry a markdown body that is the spec itself; bugs carry a body; projects, portfolios, and goals carry a shorter description.
StatusWhere the record sits in its lifecycle. Each value is listed on the statuses reference.
OwnerA display label for the person accountable for the record. This is a name shown on the card, distinct from the structural assignee field that holds a user identity.
Created and updatedServer-set timestamps, plus the identity of who last changed the record. You do not set these; the platform does.
VersionEvery initiative, plan, skill, and agent instruction keeps a version history of non-destructive snapshots.

Two distinctions recur across the tables below, so settle them once here. Owner is a label, assignee is an identity. The owner field is a freeform display name; the assignee field, where an entity has one, holds the actual user it resolves to. Deleting is soft. Every record carries a deleted marker rather than being erased, so a removed record leaves the active set without leaving the history.

info

Assignee behaves differently across two records, which matters when you build a filter. On a plan it is a stored user identity; on a bug it is a display name. That is why a bug filter on assignee matches the name you see on the card, while a plan filter on assignee resolves to a user.

Projects

A project is the container a team's work lives in. It binds to a repository and sets the default sandbox profile that planning chats inherit.

FieldTypeMeaning
NametextThe project name.
DescriptiontextFree-text description.
Statusactive, paused, completed, archivedThe project's lifecycle state.
OwnertextDisplay label for the accountable person.
Start date, target datedateOptional schedule dates.
Color, icontextDisplay accents in the rail and on cards.
RepositorytextThe GitHub repository backing the project, in org/name form. Optional, since a strategy-only project can carry no repository.
Default branchtextThe repository's default branch, such as main.
Default sandbox profilereferenceThe sandbox profile a chat inherits when its initiative belongs to this project and names none of its own.

Project membership is a separate set of records rather than a field on the project, so a person's role on a project is tracked per membership. See projects.

Portfolios

A portfolio is the rollup container above projects, for looking across several at once. It links to projects and carries a privacy switch.

FieldTypeMeaning
NametextThe portfolio name.
DescriptiontextFree-text description.
Privacypublic, privateWhether the whole workspace can see it or only the teams linked to it. Defaults to private.
Statusactive, archivedThe portfolio's lifecycle state.
Color, icontextDisplay accents.
ProjectsreferencesThe projects this portfolio rolls up, linked many-to-many.

Access to a portfolio runs through the teams linked to it, not through a member list on the portfolio itself. See portfolios and teams.

Initiatives

An initiative is the captured intent at the top of the work model. It holds the spec that decomposes into plans.

FieldTypeMeaning
TitletextThe initiative title.
Statusplanning, approved, in-progress, blocked, done, cancelledLifecycle state. Transitions are on the statuses reference.
SummarytextA short one-line description.
BodymarkdownThe spec itself, versioned, with larger bodies stored transparently.
OwnertextDisplay label for the accountable person.
Start date, target datedateRoadmap schedule.
ProgressnumberA completion percentage from 0 to 100.
ClarificationslistOpen questions the agent raises before it commits to the spec, each with the answer a person gave and the spec revision the answer was folded into.
Depends onreferencesOther initiatives this one depends on, the edges of the roadmap dependency graph.
ProjectreferenceThe project this initiative belongs to.
Default sandbox profilereferenceThe sandbox profile a chat on this initiative inherits, overriding the project's default.
Integration linksreferencesLinks to the matching items in a connected work tracker such as Azure DevOps.
Approved by, approved attext, dateWho approved the initiative and when.

An initiative does not store its own effort estimate. Its effort is the sum of its plans' estimates, rolled up rather than entered. See initiatives.

The spec and its clarifications

The body field is not a description that sits beside the work. It is the spec the plans decompose from, which is why it is markdown, versioned, and the one initiative field with real weight behind it. When the agent reads a spec and finds a question the spec does not answer, it does not guess. It raises a clarification: an open question recorded on the initiative, waiting for a person.

A clarification is a small loop, not a comment. It carries the question, the answer a person gave, the date that answer landed, and the spec revision the answer was folded into. That last part is what makes it more than a thread. Once the answer is incorporated, the clarification points at the exact version of the spec that now reflects it, so a reader can see not just that a question was asked and answered but where in the spec the answer changed the text. Plans carry the same loop, each clarification naming the revision its answer entered.

Plans

A plan is a reviewable piece an initiative decomposes into. It carries a type, an estimate, implementation steps, and, once shipped, a link to its pull request.

FieldTypeMeaning
TitletextThe plan title.
Statusdraft, in-progress, complete, blocked, cancelledLifecycle state. See the statuses reference.
BodymarkdownThe plan spec, versioned.
Plan typeenumWhat kind of work the plan is. The seven types are listed below.
OwnertextDisplay label for the accountable person.
AssigneereferenceThe user doing the work, held as a stable identity.
Approved bytextWho approved the plan, shown once it is set.
StepslistImplementation steps, each with a name, a description, a status, and acceptance criteria.
ClarificationslistQuestions and answers that shaped the plan, each with the spec revision its answer entered.
Estimate (hours)numberEstimated effort in hours, from 0 to 1000.
Estimate (points)numberEstimated effort in story points, from 0 to 1000.
Actual (hours)numberAttested time spent, always in hours.
InitiativereferenceThe parent initiative, required.
SprintreferenceThe sprint this plan is committed to, if any.
Linked test casesreferencesTest cases linked to the plan, populated when the plan type is verification.
Depends on, feature, unblocks, branchtextFreeform fields a team uses to note a dependency, the related feature, what the plan unblocks, and the git branch.
Integration linksreferencesLinks to the matching items in a connected work tracker such as Azure DevOps.
Pull requestfieldsOnce a ship opens a PR, the plan carries its number, URL, branch, open and merged timestamps, and PR status (draft, open, merged, closed). The PR status is a separate axis from the plan's own lifecycle status.

Both the hours estimate and the points estimate are stored on every plan. Which one your team works in is a team setting, covered under estimates and point scales. See plans.

Bugs

A bug is an issue that lives alongside plans. It rolls up to an initiative and can join a sprint. Bugs carry the most classification fields of any record in the work model.

FieldTypeMeaning
TitletextThe bug title.
BodymarkdownThe full report.
Severitycritical, high, medium, lowHow bad the defect is. Defaults to medium.
Priorityurgent, high, medium, lowHow soon it should be addressed, set at triage.
StatusenumWhere the bug sits in its workflow. The states and transitions are on the statuses reference.
ResolutionenumWhy the bug was settled, listed below.
Root causeenumWhat was behind the defect, set at resolution, listed below.
Sourcemanual, chat, test-execution, automatedHow the bug originated.
LabelstagsFree tags.
ComponenttextThe affected component.
EnvironmenttextWhere the bug was found.
Found in, fixed intextThe version, branch, or commit where the bug appeared and where it was fixed.
Estimate and actualnumberHours and points estimates, and attested hours, the same shape as a plan.
InitiativereferenceThe parent initiative, required.
PlanreferenceThe plan this bug belongs to, if any. A bug can stand on its own under an initiative.
ReporterreferenceThe person who filed it.
AssigneetextThe display name of the person working it.
SprintreferenceThe sprint this bug is committed to, if any.
RelationslinksTyped links to other bugs, test cases, steps, or commits, such as duplicate-of, blocks, regressed-from, or fixed-by.
Integration linksreferencesLinks to the matching items in a connected work tracker such as Azure DevOps.

See bugs. The classification value sets follow.

add_photo_alternate
Screenshot to capture
The Bugs list view as a data grid: column headers reading Title, Severity, Priority, Status, Assignee, Component, and Sprint, with a Severity pill in critical red and a Priority pill on the same row reading low, sitting side by side to show the two move independently; the Status column shows pills like triage and in-review in their workflow colors; the column filter row sits directly under the headers and a few rows of real bugs are visible.
save as: public/docs-media/bug-list-field-columns.png
Caption when added: The same fields this page names, as columns on the Bugs grid. Severity and priority sit side by side because they move on their own axes.

A bug carries its classification on four axes that answer four different questions, and they are set at different moments. Severity and priority are set at triage and say how bad the defect is and how soon to address it. Resolution and root cause are set when the bug closes and say why it was settled and what was behind it. The value sets for each follow.

Bug severity and priority

SeverityPriority
criticalurgent
highhigh
mediummedium
lowlow

Severity describes the defect; priority describes the schedule. They move independently, so a low-severity bug can carry an urgent priority and the reverse.

Bug resolution

When a bug leaves the open states, its resolution records why.

ValueMeaning
fixedThe defect was corrected.
duplicateThe bug repeats one already filed.
wont-fixA deliberate decision not to address it.
cannot-reproduceThe behavior could not be reproduced.
by-designThe behavior is intended.
obsoleteThe bug no longer applies.

Moving a bug to its canceled state requires a resolution, so a canceled bug always records why it was settled.

Bug root cause

Root cause is set when a bug is resolved and answers what was behind it.

ValueWhat it means
code-defectA mistake in the code.
design-flawA flaw in the design.
missing-requirementA requirement that was missed.
configurationA configuration problem.
environmentSomething in the environment it ran in.
third-partyA third-party dependency.
regressionA change that broke something that worked.
data-issueBad or unexpected data.
performanceA performance problem.

Sprints

A sprint is a team-scoped delivery window that groups plans and bugs.

FieldTypeMeaning
NametextThe sprint name.
TeamreferenceThe team that owns the sprint. A sprint belongs to exactly one team.
GoaltextThe sprint goal.
Statusplanned, active, completedThe sprint's lifecycle state.
Start date, end datedateThe sprint window.
Days offdate rangesTeam-wide holidays in the window that reduce everyone's capacity.

Sprint membership lives on the items, not on the sprint: a plan or a bug carries the sprint it is committed to. Capacity is tracked per member in its own set of records, holding each person's hours or points budget for the sprint, their personal days off, and whether they count toward the total. See sprints.

Goals and key results

A goal is an outcome the work supports, and it is the one record on this page that carries no workflow and no effort of its own. Its key results are the measurable targets, and they tie back to the initiatives that move them. Read the two tables together: the goal holds the framing and the health label, the key results hold the numbers, and the numbers climb from the initiatives a key result links to. That is why the goal splits into two tables: the framing and health on one, the moving numbers on the other.

Goal fieldTypeMeaning
TitletextThe goal title.
DescriptiontextFree-text description.
OwnertextDisplay label for the accountable person.
Statuson_track, at_risk, off_track, achieved, cancelledA health label you or the agent set. A goal has no workflow; this is a read on its health, not a lifecycle gate.
Time periodquarter, half, annual, customThe window the goal covers.
ProjectreferenceThe project the goal belongs to, or none for a workspace-level goal.
Parent goalreferenceA parent goal, for a goal tree.
Key result fieldTypeMeaning
Title, description, ownertextThe key result and who owns it.
Metric typepercentage, number, currency, booleanHow the target is measured.
UnittextA unit label for number metrics.
Initial, current, targetnumberThe range the key result moves across.
Progress modeauto, manualWhether the current value updates from linked initiatives or by hand.
LinksreferencesThe initiatives a key result draws progress from. A key result can also reference a portfolio as supporting context, which does not move its number.

A goal's completion is a rollup over its key results, derived rather than set. An automatic key result moves as its linked initiatives progress: a numeric metric tracks their weighted progress, and a boolean metric turns true once every linked initiative is done. See goals and OKRs.

Test cases

A test case captures what should be true and the status of checking it.

FieldTypeMeaning
TitletextThe test case title.
DescriptiontextWhat the test covers.
Statusdraft, active, passing, failing, obsoleteThe authoring state and the last outcome. The passing and failing states are recorded by exercising the test, not by editing it. See the statuses reference.
Prioritycritical, high, medium, lowHow important the test is.
StepslistOrdered steps, each with an action and an expected result.
InitiativereferenceThe parent initiative, required.
PlanreferenceThe plan the test verifies, if any.

See test cases.

Documents

The word document covers two surfaces, and they are worth keeping apart.

The first is the Document Library, the files and pages you attach to your work. A library document records where it came from and how it is stored.

FieldTypeMeaning
NametextThe document name.
Sourcelocal, google-drive, onedrive, externalWhether it was uploaded, imported from a document provider, or referenced externally.
Storageblob, referenceWhether the platform holds the bytes or points at the provider's file.
MIME type, sizetext, numberThe file type and size.
Visibilityprivate, tenantWhether only you or the whole workspace can see it.
Description, tagstextNotes and free tags.

The second is repository documentation, the per-repository wiki the platform keeps. A wiki page is addressed by a slug and a scope (global, or a single repository) and holds markdown content. This is the surface documentation health reviews keep current. See documents and repository documentation and wiki.

Plan types

Every plan carries a type, and the type tells you what the plan is for. There are seven.

TypeWhat it is for
implementationBuilding the change. The default kind of plan.
designWorking out an approach or a design before building.
specWriting or refining a specification.
reviewReviewing work, code, or a decision.
researchInvestigating an open question.
choreMaintenance and housekeeping that still needs tracking.
verificationConfirming the work holds, the kind of plan that links test cases.

The type is a way to sort and reason about the work rather than a switch that changes the fields a plan carries; every plan type has the same shape. See plans.

Estimates and point scales

A plan or a bug can carry an estimate, and the platform stores it two ways at once: an hours estimate and a points estimate, each from 0 to 1000. Which one your team actually works in is a team setting, the primary estimate unit, set to either hours or points. Attested time spent is always recorded in hours, whatever the team estimates in.

When a team estimates in points, a point scale fixes the values a points estimate can take, so a team's estimates stay consistent.

ScaleAllowed values
offAny value from 0 to 1000.
fibonacci1, 2, 3, 5, 8, 13, 20, 40, 100.
linear1 through 10.

The scale guides the points field and the agent's suggestions toward those values. It is set per team, alongside the primary estimate unit. See teams for where a team chooses its unit and scale.

off01000any valuefibonacci12358132040100linear12345678910
Three ways a team can size in points. Off allows any value; fibonacci widens its gaps as the work grows; linear keeps even steps from one to ten.

How estimates and progress roll up

Two numbers in the work model are never typed where you read them. They climb. An initiative shows an effort figure, but it stores none of its own: the figure is the sum of the estimates on its plans. A goal shows progress, but it sets none of its own: the progress is drawn up from the initiatives its key results link to. Both are computed at the moment you look, from the leaves, which is why neither field is editable on the record that displays it.

Estimates climbInitiative · 16sum of its plansPlan · 8Plan · 5Plan · 3Progress climbsGoal · on trackroll of its key resultsKey result · 70%weightedInitiative 100%Initiative 40%accent = computed · neutral = entered
Estimates climb on the left, progress climbs on the right. Nothing at the top is typed; the accented boxes are computed from the work below them.

The estimate roll is the straightforward one. An estimate lives on a plan, in the unit the team works in, and bugs carry one too. An initiative's effort is its plans' estimates added together, so resizing one plan changes the initiative total without anyone touching the initiative. Because the estimate is stored both ways on every leaf, the roll holds whether the team reads it in hours or in points.

The progress roll has one more turn in it, because a goal does not link to initiatives directly. A goal carries key results, and a key result links to initiatives. An automatic key result moves as those initiatives advance: a numeric metric tracks their weighted progress, and a boolean metric turns true only once every linked initiative is done. The goal's own completion is then a roll over its key results. So the path runs initiative progress, up into the key result, up into the goal, three records deep, with a person entering a number at none of the three.

This is the direction underneath the field tables. Effort and progress both flow up the spine from the work that actually moves, never down from a figure someone declared at the top, which is why an initiative total and a goal's health stay honest as the leaves change without a reconciliation step to keep them true.

One filter, start to finish

An example of the page doing its job. A release manager wants every bug that is a real regression still in flight: high or critical severity, a root cause of regression, and not yet closed. Each of those is a value set on this page. Severity is critical or high from the severity table. Root cause is regression from the root-cause table. And still in flight is any status that is not closed or canceled, from the bug status machine. They build the view with those exact strings, and because the grid matches the same values this page lists, the filter catches every bug that qualifies and nothing that does not. The page is where the filter's vocabulary comes from.

add_photo_alternate
Screenshot to capture
The Bugs data grid with the filter panel open: a field-filter builder where a row reads Severity is any of with critical and high selected as chips, a second row reads Root cause is regression, and a third reads Status is not closed, canceled; the grid behind it shows only the matching rows with a result count above the grid; the field names and values in the builder are the same strings the tables on this page list.
save as: public/docs-media/bug-list-filter-panel.png
Caption when added: The filter from the example above, built on the grid. Each field and value in the builder is one this page names, which is why a precise filter is a lookup and not a guess.

Why the work model is shaped this way

The shape of the model rewards a close look. The work hangs off a small spine, portfolio to project to initiative to plan, with bugs and test cases hanging off the same initiatives and sprints cutting across as a delivery overlay. Estimates live on the leaves and climb; a goal's progress is drawn up from the initiatives beneath it rather than typed in, the model the rollup section above draws in full. Once you see that, the fields stop reading as a long list and start reading as a structure with a direction to it.

That structure is only useful if the reference matches the product field for field, which is the rule behind the whole section: every field and every value here is read from the product as it behaves, not from an older intention. That matters most where two things look alike and are not. Owner is a label and assignee is an identity. Severity describes a defect and priority describes a schedule. A bug's status is where it sits in the workflow and its resolution is why it closed, two different fields that happen to share a couple of words. A reference earns its keep by drawing those lines cleanly, because a filter or a workflow built on the wrong field fails quietly.

For a power user, this page is the source for a precise filter or a custom view. When you key a view off severity, plan type, or sprint, the value sets here are the exact strings the grid matches.

For an administrator, the status fields named here lead straight to the statuses and status machines page, where the transitions you can customize live. The fields a record carries are also the fields a workflow's board and grid can show.

For an engineer, the relationship fields are the map: which record points at which, what is required, and what rolls up. The estimate fields and the point scale are where a team's sizing convention is set.

For a prospect, this is the evidence the model is real. An agent can only plan, build, and verify work if there is a structured work model underneath it, and this page is that model named in full, not a diagram on a marketing page.