Repository navigation
Add agent guardrails for shared modules #12993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
96ec6e3
50cc932
1a90bc3
9b13710
80ad98f
3605b9a
0aa3201
fc51610
4fcaaec
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Shared module guardrails | ||
|
|
||
| These rules apply in directories whose `AGENTS.md` links here. | ||
|
|
||
| - Leave these modules untouched by default. Implement product features in their own modules using existing | ||
| contracts. Do not implement product specific feature into shared modules. | ||
| - Change a shared module only for a concrete goal in that module. Language Platform @DataDog/apm-lang-platform-java should lead such work. | ||
| Outside that team, keep changes tactical and specific to this module. Put them in a separate PR from broader | ||
| product work. | ||
| - Before editing, tell the user the goal for the module and why an exception is needed. If that rationale is | ||
| unclear, leave the module untouched. Warn that Language Platform @DataDog/apm-lang-platform-java review is needed. | ||
| - Under `# Motivation` in the PR, add `## Shared module change` apart from any product motivation. Explain | ||
| the goal for this module, why the work belongs here, affected consumers, and compatibility risks. When | ||
| prompted by product work, explain why product code and existing contracts cannot meet the need. | ||
| - Check [CODEOWNERS](../.github/CODEOWNERS) for the current area owner. Put this GitHub alert at the very start | ||
| of the PR description, before `# What Does This Do`: | ||
|
|
||
| ```markdown | ||
| > [!IMPORTANT] | ||
| > Language Platform review is needed for this shared module change. Please involve @DataDog/apm-lang-platform-java. | ||
| ``` | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # communication | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 suggestion: I would check if the
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can take a look, the advantage here is that this also work as a link when browsing github.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
We would never read this part. It's for bot only. Could be binary or sparse english words, that would be the same to me. As soon as it's the most efficient for the tool 🤷
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So this is a bit grim, I'd propose to keep
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh yeah, definitely if it's not supported widely… I thought it was a more common mechanism 😢
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I get you 🥺 |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # components | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # agent-bootstrap | ||
|
|
||
| Module described in [ARCHITECTURE.md](../../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # agent-installer | ||
|
|
||
| Module described in [ARCHITECTURE.md](../../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # agent-tooling | ||
|
|
||
| Module described in [ARCHITECTURE.md](../../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # dd-java-agent/src | ||
|
|
||
| Module described in [ARCHITECTURE.md](../../ARCHITECTURE.md). | ||
|
|
||
| > [!NOTE] | ||
| > `dd-java-agent` both assembles the agent jar and owns startup code under `src`. | ||
| > This layout does not follow Idiomatic Gradle's separation of code modules and aggregation projects: | ||
| > startup code lives in the parent project rather than in a dedicated subproject. | ||
| > These instructions therefore live under `src` to cover startup code and its tests without applying | ||
| > the same guardrails to every product and instrumentation subproject. | ||
|
|
||
| Read and follow the [shared module guardrails](../../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # dd-trace-api | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # dd-trace-core | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # internal-api | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # remote-config | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # telemetry | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # utils | ||
|
|
||
| Module described in [ARCHITECTURE.md](../ARCHITECTURE.md). | ||
|
|
||
| Read and follow the [shared module guardrails](../.agents/shared-module-guardrails.md). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❔ question: Is this a common place for agent documentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do have the same question, I don't know yet, I need to look that up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some other dd-trace-* repos have a /doc/for-agent/ folder or similar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I understand there's no real conventions there. Another place could be
docs/agents/shared-module-guardrails.mdif we want humans to read it. I'll ask other teams.