0002: SEED Template#

Pigweed AI summary: The SEED-0002 proposal is currently open for comments and is in the Last Call stage. It has also been accepted. The proposal was submitted on November 30, 2022. The proposal includes sections on Summary, Motivation, Proposal, Problem Investigation, Detailed Design, Alternatives, and Open Questions. The Problem Investigation section focuses on researching the problem at hand and convincing stakeholders that the proposal addresses the right issues. The Detailed Design section explains the technical implementation of the proposal, including API

SEED-0002: SEED Template

Status: Open for Comments Last Call Accepted Rejected

Proposal Date: 2022-11-30

CL: pwrev/123090

Summary#

Pigweed AI summary: This section titled "Summary" requests a brief paragraph summarizing the proposal and any mention of the SEED superseding another proposal.

Write a brief paragraph outlining your proposal. If the SEED supersedes another, mention it here.

Motivation#

Pigweed AI summary: This section titled "Motivation" aims to explain the purpose of a proposal and the problem it seeks to solve. It also includes any relevant background information.

Describe the purpose of this proposal. What problem is it trying to solve? Include any relevant background information.

Proposal#

Pigweed AI summary: The proposal section provides a detailed treatment of a proposal and its user-facing impacts if accepted. It serves as a reference for a new feature, explaining the changes to a user without background context. It includes descriptions of key concepts and examples, such as the public API of a new library if the proposal adds one.

In this section, provide a detailed treatment of your proposal, and the user-facing impacts if the proposal were to be accepted. Treat it as a reference for the new feature, describing the changes to a user without background context on the proposal, with explanations of key concepts and examples.

For example, if the proposal adds a new library, this section should describe its public API, and be written in the style of API documentation.

Problem investigation#

Pigweed AI summary: The "Problem Investigation" section of a proposal focuses on researching the problem at hand, rather than proposing a solution. The purpose is to convince stakeholders that the proposal is addressing the right issues. The investigation should consider how the problem currently impacts stakeholders, what use cases are being addressed, examination of existing solutions, workarounds, relevant policies, and security and privacy implications. The depth of the investigation should increase proportionally to the scope and impact of the problem. This section should be the primary focus of

This section contains detailed research into the problem at hand. Crucially, the focus here is on the problem itself — not the proposed solution. The purpose is to convince stakeholders that the proposal is addressing the right issues: there needs to be agreement on the why before they can think about the how.

Generally, this section should be the primary focus of the proposal.

Considerations which should be made in the investigation include:

  • How does this problem currently impact stakeholders?

  • What kinds of use cases, both specific and general, are being addressed? What are their priorities? What use cases are not being considered, and why?

  • Examination of any “prior art”. Are there existing solutions to this problem elsewhere? What attempts have previously been made, and how do they compare to this proposal? What are the benefits and drawbacks of each?

  • Is there a workaround for this problem currently in use? If so, how does it work, and what are its drawbacks?

  • Are there existing Pigweed decisions or policies which are relevant to this issue, and can anything be learned from them?

  • If the problem involves data not under Pigweed’s control, consider the security and privacy implications.

The depth of the problem investigation should increase proportionally to the scope and impact of the problem.

Detailed design#

Pigweed AI summary: The detailed design section of a proposal should explain the technical implementation of any code changes. It should be detailed enough for a developer to understand how to implement the proposal and should cover topics such as API design, data storage, interactions with existing systems, testing strategies, performance, and code/memory size requirements. Backwards compatibility should also be considered if an existing implementation is being changed. A prototype implementation may also be linked to in this section.

If the proposal includes code changes, the detailed design section should explain the implementation at a technical level. It should be sufficiently detailed for a developer to understand how to implement the proposal.

Any of the following should be discussed in the design, if applicable:

  • API design.

  • Internal data storage / layout.

  • Interactions with existing systems.

  • Similar existing Pigweed APIs: consider framework-wide consistency.

  • Testing strategies.

  • Performance.

  • Code / memory size requirements.

  • If an existing implementation is being changed, will there be backwards compatibility?

This section may also choose to link to a prototype implementation if one is written.

Alternatives#

Pigweed AI summary: This section discusses the alternative solutions that were considered for the problem, with reference to the investigation. It also highlights the potential outcome if the proposed solution is not accepted.

Describe what alternative solutions to the problem were considered, referencing the problem investigation as necessary.

Additionally, consider the outcome if the proposal were not to be accepted.

Open questions#

Pigweed AI summary: The "Open questions" section asks if there are any aspects of the problem that the proposal does not cover and if there is a plan to address them. It also inquires about any potential implications beyond the proposal's scope and requests that any future SEEDs addressing outstanding issues be referenced and linked if they already exist.

Are there any areas of the problem that are not addressed by this proposal, and is there a plan to resolve them? Does this proposal have implications beyond its described scope?

If there are anticipated to be additional SEEDs to address outstanding issues, reference them here, linking to them if they already exist.