Ponytail: AI coding agent తక్కువ code రాయడం ఎలా
Ponytail AI coding agentను పనిచేసే అతి చిన్న మార్పుపైనే ఆపుతుంది. ఇది ఏమి అందిస్తుంది, benchmarksలో ఏమి చూపింది, ఈ నియమాన్ని ఈరోజే ఎలా copy చేయాలో తెలుసుకోండి.
Ponytail అంటే ఏమిటి
Ponytail అనేది AI coding agent తక్కువ code రాసేలా చేసే ruleset. ప్రాజెక్ట్ తనను తాను ఒకే వాక్యంలో ఇలా వివరిస్తుంది: "గదిలో ఉన్న అత్యంత సోమరి senior dev లా మీ AI agent ఆలోచించేలా చేస్తుంది. మీరు ఎప్పుడూ రాయకపోయిన code నే ఉత్తమమైనది." ఇది MIT license కింద విడుదలైంది. దీనికి స్వంత runtime లేదు. ఇందులోని ఏదీ execute కాదు. ఇది agent instructions లోకి వెళ్లే text. Skills ను load చేసే hosts కోసం ఇది skill గా package చేయబడింది. Skills ను load చేయని hosts కోసం ఇది plain rule files గా అందించబడుతుంది.
Repository DietrichGebert/ponytail. ఇది 12 June 2026న సృష్టించబడింది. 1 August 2026 నాటికి ఇది 90,000 stars దాటింది. 1 August 2026 నాటి తాజా tagged release v4.8.4. ఇది 29 June 2026న published అయింది. Releases page లో 14 June నుంచి 29 June వరకు మాత్రమే పది tags ఉన్నాయి. ఈ వేగంతో మారుతున్న project ను మీరు చదివే సమయానికి మారి ఉండవచ్చు. అందువల్ల దాని ఆధారంగా ఏదైనా build చేయడానికి ముందు ఒక tag ను pin చేయండి.
టూల్కు ముందు ఆలోచన: పనిచేసే మొదటి మెట్టుపైనే ఆగాలి
Ponytail యొక్క కేంద్ర భావన ఒక నిర్ణయాల మెట్ల వరుస. ఏదైనా రాయడానికి ముందు agent ఈ మెట్లను ఎక్కుతుంది. పనిచేసే మొదటి మెట్టుపైనే ఆగుతుంది.
- ఇది అసలు అవసరమా? ఇది YAGNI (you are not going to need it). సమాధానం కాదు అయితే, దాన్ని వదిలేయాలి.
- ఇది ఇప్పటికే ఈ codebase లో ఉందా? ఇప్పటికే ఉన్న helper లేదా pattern ను మళ్లీ ఉపయోగించాలి.
- standard library దీన్ని చేయగలదా? దానినే ఉపయోగించాలి.
- native platform feature దీనికి సరిపోతుందా? దానినే ఉపయోగించాలి.
- ఇప్పటికే install చేసిన dependency దీనిని పరిష్కరించగలదా? దానినే ఉపయోగించాలి.
- ఇది ఒక line లో రాయగలమా? ఒక line లోనే రాయాలి.
- ఇవన్నీ పరిశీలించిన తర్వాత మాత్రమే పనిచేసే కనీస code ను రాయాలి.
పని చేసేది ఏ ఒక్క మెట్టు కాదు; మొత్తం క్రమమే. Date picker అడిగితే agent date picker ను రాస్తుంది, ఎందుకంటే అదే రాయమని దానికి చెప్పారు. ఈ మెట్ల వరుస ముందుగా 4వ మెట్టును పరిశీలించేలా చేస్తుంది. 4వ మెట్టు browser లో ఇప్పటికే <input type="date"> ఉందని చూపిస్తుంది. Project యొక్క స్వంత benchmark notes లో ఇదే ఉదాహరణ ఉంది: ఈ నియమం లేకుండా date picker 404 lines వచ్చింది. ఈ నియమంతో అది 23 lines కు తగ్గింది. కారణం agent component ను నిర్మించకుండా native input ను ఉపయోగించింది. ఇదే కారణంతో colour picker కూడా 287 lines నుంచి 23 lines కు తగ్గింది.
ఇక్కడ lazy అంటే నిర్లక్ష్యం కాదు. Ruleset దీన్ని స్పష్టంగా చెబుతుంది. దాని "never lazy about" జాబితాలో నిర్ణయం తీసుకునే ముందు problem ను అర్థం చేసుకోవడం, trust boundaries వద్ద input validation, data loss ను నివారించే error handling, security, accessibility, అలాగే పేరుతో అడిగిన ప్రతిదీ ఉన్నాయి. Non-trivial logic లోని ప్రతి భాగానికి ఒక చిన్న runnable check ఉండాలని కూడా అది కోరుతుంది. ఈ నియమం అవసరం లేని కొత్త code ను తగ్గిస్తుంది. Correctness ను తగ్గించదు.
రిపాజిటరీ వాస్తవంగా అందించేది
AGENTS.md, ఎల్లప్పుడూ అమలులో ఉండే ruleset. ఇది మొత్తం విధానాన్ని 5 నిమిషాల్లో చదవగలిగే ఒక ఫైల్లో అందిస్తుంది.skills/ponytail/SKILL.md, skill definition. ఇందులోlite,fullలేదాultraఅనే argument hint ఉంటుంది..cursor/rules/మరియు.windsurf/rules/వంటి editor-specific directories లోని rule files. ఇవి rules ను చదువుతాయి, కానీ skills ను load చేయని hosts కోసం ఉంటాయి.hooks/,benchmarks/,examples/మరియుscripts/.
intensity argument నియమం ఎంత కఠినంగా అమలు కావాలో నిర్ణయిస్తుంది. lite మీరు కోరినదాన్ని రూపొందించి, ఒకే పంక్తిలో మరింత సరళమైన ప్రత్యామ్నాయాన్ని సూచిస్తుంది. full default స్థాయి. ఇది ladder ను తప్పనిసరిగా అమలు చేస్తుంది. ultra YAGNI యొక్క అత్యంత కఠినమైన setting. ఇది జోడించడంకన్నా తొలగించడానికే ప్రాధాన్యం ఇస్తుంది. అవసరాన్నే ఇది ప్రశ్నిస్తుంది.
skills కు మద్దతు ఉన్న hosts కు slash commands కూడా లభిస్తాయి. /ponytail స్థాయిని సెట్ చేస్తుంది. /ponytail-review over-engineering కోసం diff ను తనిఖీ చేస్తుంది. /ponytail-audit మొత్తం repository ను తనిఖీ చేస్తుంది. /ponytail-debt మీరు వాయిదా వేసిన shortcuts ను సేకరిస్తుంది. /ponytail-gain benchmark scorecard ను ప్రింట్ చేస్తుంది. rule files మాత్రమే చదివే hosts కు commands లేకుండా ruleset మాత్రమే లభిస్తుంది.
దాన్ని విశ్వసించే ముందు source చదవాలంటే branch కంటే tag ను clone చేయండి:
git clone --depth 1 --branch v4.8.4 https://github.com/DietrichGebert/ponytail.gitClaude Code లో project బదులుగా plugin install ను document చేస్తుంది. 1 August 2026 న documentation లో ఉన్న విధంగా ఈ రెండు lines ఉన్నాయి:
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytailplugin path tag కంటే default branch ను అనుసరిస్తుంది. అందువల్ల మీ agent కు మార్గనిర్దేశం చేసే instructions sessions మధ్య మీకు తెలియకుండానే మారవచ్చు. update command అందించే సౌలభ్యం కోసం మీరు అంగీకరించే trade-off ఇదే.
VPSపై lazy agent ఎందుకు తక్కువ ఖర్చుతో పనిచేస్తుంది
Agent రాసే diff conversation ను విడిచిపెట్టదు. తదుపరి turn లో model దాన్ని మళ్లీ చదివే context గా ఉపయోగిస్తుంది. Diff ను రూపొందించడానికి agent తెరిచిన ప్రతి file కూడా అదే context లో ఉంటుంది. అందువల్ల 500 line మార్పు దాన్ని రూపొందించిన turn కు మాత్రమే కాకుండా, session లోని ప్రతి తదుపరి turn కు కూడా అదనపు భారాన్ని కలిగిస్తుంది. Session కొనసాగేకొద్దీ runaway refactor వల్ల agent నెమ్మదిగా, తక్కువ సామర్థ్యంతో అనిపించడానికి ఇదే కారణం. Window agent సొంత output తో నిండిపోతుంది. దాంతో మీ అసలు code కు మిగిలే స్థలం తగ్గుతుంది. దీన్ని నియంత్రించడం గురించే coding agent యొక్క context window ను నిర్వహించడం అనే విషయం.
Tokens ను input మరియు output రెండింటికీ bill చేస్తారు. అందువల్ల సగం పరిమాణంలో ఉన్న diff రెండు సార్లు తక్కువ ఖర్చు అవుతుంది: ఒకసారి అది రాయబడినప్పుడు, మళ్లీ దాన్ని ప్రతి turn లో తిరిగి చదివినప్పుడు. ఆ ఆదా మీ bill పై నిజంగా కనిపిస్తుందా అనేది మీరు చెల్లించే విధానంపై ఆధారపడి ఉంటుంది. flat Pro లేదా Max subscription అదనపు tokens ఖర్చును subscription లోనే కలుపుతుంది. Per-token API billing అయితే ప్రతి token కు మీకు charge చేస్తుంది. Self-hosted setup లో bill ను పర్యవేక్షిస్తుంటే, instruction file ఎటువంటి అదనపు ఖర్చు లేకుండా నియంత్రించగల lever. AI agent మీకు ఎంత ఖర్చు చేస్తుందో నియంత్రించడం output volume తో ప్రారంభమవుతుంది. coding agent తన tokens ను ఎలా ఖర్చు చేస్తుందో తెలుసుకుంటే, re-reading ప్రజలు ఊహించిన దానికంటే ఎందుకు ఎక్కువ ప్రభావం చూపుతుందో అర్థమవుతుంది.
Diff ను చివరకు ఒక మనిషే చదవాలి. 20 lines గా ఉండాల్సిన మార్పు 400 lines ఉంటే, reviewer యొక్క attention ఖర్చవుతుంది. ముందుగా తరిగిపోయేది attentionనే. ఆ రోజు నాలుగో long diff ను ఎవరూ మొదటి diff ను పరిశీలించినంత జాగ్రత్తగా review చేయరు. అందువల్ల అవసరానికి మించి code నిర్మించడం సమయాన్ని మాత్రమే వృథా చేయదు. తప్పులను గుర్తించాల్సిన review నాణ్యతను కూడా నిశ్శబ్దంగా తగ్గిస్తుంది.
Server పై పరిస్థితి మరింత కీలకంగా మారుతుంది, ఎందుకంటే agent తరచుగా ఎవరూ పర్యవేక్షించకుండా నడుస్తుంది. tmux session లో లేదా timer ద్వారా పనిచేసే agent, మీరు గుర్తించేలోపు ఒక తప్పు నిర్ణయంపై గంటల పాటు మరింత code నిర్మించగలదు. VPSపై coding agent ను నడపడం లోని ఆచరణాత్మక ప్రమాదం ఇదే. loop engineering చేసే వారు individual prompts కంటే standing instructions పై ఎక్కువ శ్రద్ధ పెట్టడానికి ఇదే కారణం. always-on file లోని ఒక rule turn 200 కు కూడా వర్తిస్తుంది. Chat లో మీరు type చేసిన ఒక rule turn 3 కు మాత్రమే వర్తిస్తుంది.
కొత్త dependencies మరో నిశ్శబ్ద ఖర్చు. Rung 5 లో installed ఉన్న వాటినే ఉపయోగించమని చెబుతుంది. Agent తనంతట తానే add చేసే ప్రతి package ను మీరు తరువాత patch చేయాలి. అలాగే ఆ repository నుంచి build చేసే ప్రతి container image లోకి అది చేరుతుంది.
Ponytail సొంత benchmark సంఖ్యలు ఏమి చెబుతున్నాయి
ఈ ప్రాజెక్ట్ రెండు ఫలితాల సమితులను ప్రచురించింది. అవి ఒకదానితో ఒకటి చాలా తేడాగా ఉన్నాయి. రెండూ ప్రాజెక్ట్ స్వయంగా ప్రచురించిన సంఖ్యలే. ఏదీ స్వతంత్ర పరీక్ష కాదు.
The data behind this chart
[
{
"label": "Lines of code",
"single_shot_pct": 93,
"agentic_pct": 54
},
{
"label": "Cost per run",
"single_shot_pct": 63,
"agentic_pct": 20
},
{
"label": "Wall clock time",
"single_shot_pct": 74,
"agentic_pct": 27
}
]single shot కాలమ్లోని సంఖ్యలు, ఆ నియమంతో మరియు అది లేకుండా, చిన్న promptల సమితికి bare model ఇచ్చిన సమాధానాల నుంచి వచ్చాయి. ఇవి 13 మరియు 17 June 2026 తేదీల్లో చేసిన పునరావృత runs యొక్క median విలువలు. agentic కాలమ్లోని సంఖ్యలు, tiangolo యొక్క full-stack-fastapi-template ను సవరించిన headless Claude Code session నుంచి వచ్చాయి. ఇది నిజమైన FastAPI మరియు React repository. Haiku 4.5పై నాలుగు runs చొప్పున పన్నెండు feature ticketsను అమలు చేసి, మిగిలిన git diff ఆధారంగా స్కోర్ చేశారు.
రెండవ కాలమ్ను చూడండి. agentic ఫలితంలో code lines 54 శాతం తక్కువగా ఉన్నాయి, ఖర్చు 20 శాతం తక్కువగా ఉంది, wall clock సమయం 27 శాతం తక్కువగా ఉంది. అదే కొలతలకు single shot setupలో ఈ సంఖ్యలు వరుసగా 93 శాతం మరియు 74 శాతం. కారణాన్ని README స్పష్టంగా చెబుతోంది: single shot baseline ఒక bare model. అది “అనేక options తో పాటు commentary ఇస్తుంది”. అలాంటి baselineను అధిగమించడం సులభం. నిజమైన పనిని చేసే నిజమైన agentతో పోలిస్తే ప్రయోజనం తగ్గుతుంది. అయినప్పటికీ ఆ ఫలితం వాస్తవ పరిస్థితికి దగ్గరగా ఉంటుంది. అదే మరింత ఉపయోగకరమైన విషయం.
ఒక పరిమితిని ప్రాజెక్ట్ స్వయంగా పేర్కొంది. ఈ నియమం మీకు ఉపయోగపడుతుందా లేదా అనేది దానిపైనే ఆధారపడి ఉంటుంది. నిజంగా codeను అవసరానికి మించి నిర్మించే ప్రమాదం ఉన్న చోట saving ఎక్కువగా ఉంటుంది. ఇప్పటికే minimalగా ఉన్న codeలో saving దాదాపు ఉండదు. ఒకే Python మరియు TypeScript repositoryలోని పన్నెండు tickets మీ repository ఫలితాలను ముందుగా చెప్పవు. ఈ సంఖ్య మీకు ముఖ్యమైతే, మీ స్వంత ticketsపై నియమంతో మరియు అది లేకుండా comparison run చేయండి. Linesను మీరే లెక్కించండి.
ఈరోజే ఏదీ install చేయకుండా copy చేసుకోగల నమూనా
ఈ ladder text రూపంలో ఉంటుంది. అందువల్ల ఈ ఆలోచనను ఉపయోగించడానికి plugin అవసరం లేదు. మీ agent ఇప్పటికే చదివే instruction file లో ఇలాంటి block ను paste చేయండి. అది AGENTS.md కావచ్చు, CLAUDE.md కావచ్చు, లేదా మీ editor యొక్క rules file కావచ్చు.
## Before you write code
Climb this list in order. Stop at the first line that applies.
1. Does this need to exist? If not, say so and stop.
2. Does this repo already have it? Reuse the helper.
3. Does the standard library do it? Use it.
4. Does the platform do it natively? Use it.
5. Does an installed dependency do it? Use it.
6. Can it be one line? Write one line.
7. Otherwise write the minimum that works.
Never take the shortcut on: reading the code before changing it, validating
input that crosses a trust boundary, error handling that would otherwise lose
data, security, accessibility, or anything I asked for by name.
Do not add an abstraction I did not ask for. Do not add a dependency without
saying why in one line. Prefer deleting code to adding it.
Mark a deliberate simplification with a comment naming its ceiling and the
upgrade path.చివరి rule ను ప్రత్యేకంగా పరిగణించాలి. Ponytail convention ప్రకారం, comment కు tool పేరు tag గా ఉంటుంది:
# ponytail: global lock, per-account locks if throughput mattersఆ comment రెండు పనులను చేస్తుంది. దాంతో లేకపోతే review cycle అవసరమయ్యే ఒక ప్రశ్నకు సమాధానం లభిస్తుంది. సరళమైన version ఉద్దేశపూర్వకంగా తీసుకున్న నిర్ణయం అని, ఆ నిర్ణయం ఎప్పుడు వర్తించదో కూడా అది తరువాత చదివే వ్యక్తికి తెలియజేస్తుంది. ఇది లేకపోతే reviewer పరిశీలించి తీసుకున్న shortcut ను agent మర్చిపోయిన విషయంతో వేరు చేయలేరు. అందువల్ల వారు ప్రశ్నించాల్సి వస్తుంది.
ఈ block ను ఎక్కడ ఉంచుతారో, అందులో ఏమి రాస్తారన్నంతే ముఖ్యం. ప్రతి run లో agent load చేసే file, మీరు గమనించని run లతో సహా, ప్రతి run పై ప్రభావం చూపుతుంది. మీ agent వాస్తవంగా అనుసరించే AGENTS.md రాయడం అనే అంశం ఈ తేడాను వివరిస్తుంది. అందుకే ఈ నమూనాను మీ shell history లో కాకుండా committed file లో ఉంచాలి.
నియమం వర్తించని సందర్భాలు
ఈ క్రమం ఇప్పటికే ఉన్న codebase లో feature పనుల కోసం రూపొందించబడింది. అక్కడ పునర్వినియోగం సాధారణంగా అందుబాటులో ఉంటుంది, అలాగే సాధారణంగా సరైన ఎంపికగా ఉంటుంది. కొత్తగా ప్రారంభించే ప్రాజెక్ట్కు ఇది సరిగ్గా సరిపోదు. ఎందుకంటే rung 2లో పునర్వినియోగించడానికి ఏమీ ఉండదు, rung 5లో ఇన్స్టాల్ చేసినది ఏమీ ఉండదు. అందువల్ల agent ప్రతిసారీ rung 7కి చేరుతుంది. మీరు నిజంగా abstraction జోడించాలనుకునే సమయంలో కూడా ఇది సరిగ్గా సరిపోదు. అదే copy చేసిన block ను ఉపయోగించే నాలుగో caller ను జోడించబోతున్నట్లయితే, "shortest diff" మీకు ఐదో copyని ఇస్తుంది.
ultra స్థాయి మీ requirements ను ప్రశ్నిస్తుంది. ఆ స్థాయి ఉద్దేశం అదే. మీరు ఇప్పటికే నిర్ణయం తీసుకుని, పని పూర్తవాలని కోరుకున్నప్పుడు ఇది నిజమైన ఖర్చు అవుతుంది. సాధారణ పనులకు full ను ఉపయోగించండి. Feature request లోనే సమస్య ఉండవచ్చని అనిపించినప్పుడు ultra ను ఎంచుకోండి.
సమస్యను తప్పుగా అర్థం చేసుకోకుండా ఏ instruction block కూడా మిమ్మల్ని రక్షించదు. నిర్ణయం తీసుకునే ముందు code ను అర్థం చేసుకోవడం ruleset లోని మొదటి అంశమే. అదే ఖర్చుతో కూడిన భాగం, అలాగే text మీ తరఫున చేయలేని భాగం. తప్పు function లో చేసిన minimal diff కూడా తప్పు fixగానే ఉంటుంది. ఇప్పుడు అది approve చేయడానికి సులభమైన చిన్న తప్పు fixగా మారుతుంది.
నిజాయితీగా చెప్పాలంటే, Ponytail అనేది సంఖ్యలను జోడించి సక్రమంగా రూపొందించిన prompt. దీనికి plugin అవసరమని చెప్పే విషయం ఏదీ లేదు. ఈ project మీకు అందించేది ఏమిటంటే, ఎవరో ఈ జాబితాను సరిగ్గా రాశారు, నిజమైన repositoryపై పరీక్షించారు, ఫలితంతో పాటు ఈ పద్ధతిని ప్రచురించారు.
FAQ
Ponytail Claude Code కాకుండా ఇతర agents తో పనిచేస్తుందా?
అవును. Skills ను load చేసే hosts కోసం ఇది skill గా అందించబడుతుంది. ఈ జాబితాలో Claude Code, Codex, OpenCode, Gemini మరియు README లో పేర్కొన్న మరికొన్ని ఉన్నాయి. Skills ను load చేయకుండా rule files ను మాత్రమే చదివే Cursor, Windsurf, Cline, Copilot వంటి editors, సరిపోలే rules directory నుంచి always-on ruleset ను తీసుకుంటాయి. అయితే వాటికి slash commands అందుబాటులో ఉండవు. రెండు సందర్భాల్లోనూ text ఒకటే ఉంటుంది. అసలు తేడా ఏమిటంటే, మీ host ప్రతి turn లో ఆ text ను context లో ఉంచుతుందా లేదా skill trigger అయినప్పుడు మాత్రమే ఉంచుతుందా అన్నది.
Lazy agent tests, validation లేదా security ను దాటవేస్తుందా?
లేదు. Ruleset దీనిని నేరుగా పేర్కొంటుంది. దాని "never lazy about" జాబితాలో trust boundaries వద్ద input validation, data loss ను నిరోధించే error handling, security, accessibility ఉన్నాయి. Non-trivial logic లోని ప్రతి భాగానికి ఒక చిన్న runnable check ఉండాలని కూడా అది కోరుతుంది. ఈ rule తొలగించేది కల్పిత structure మాత్రమే: ఎవరూ అభ్యర్థించని abstractions, ఎవరికీ అవసరం లేని dependencies. దీన్ని install చేసిన తర్వాత మీ agent tests ను వదిలివేయడం ప్రారంభిస్తే, కారణం మీ స్వంత config లోని మరో instruction దీనికంటే అధిక ప్రాధాన్యం పొందడం. అందువల్ల agent చివరిగా load చేసే file ను చదవండి.
ప్రచురించిన speed మరియు cost సంఖ్యలను నమ్మవచ్చా?
అవి project స్వయంగా చేసిన కొలతలు. వాటి measurement method తోనే అవి ప్రచురించబడ్డాయి. కాబట్టి వాటిని ఆ పరిధిలోనే అర్థం చేసుకోవాలి. Single shot గణాంకాలు options మరియు commentary తో సమాధానం ఇచ్చే bare model తో పోలుస్తాయి. README కూడా దీనిని బలహీనమైన baseline గా పేర్కొంటుంది. Agentic గణాంకాలు ఒక FastAPI మరియు React repository పై headless Claude Code session నుంచి వచ్చాయి. ఇందులో twelve tickets, ఒక్కోదానికి four runs, Haiku 4.5 ఉపయోగించబడ్డాయి. ఆ setup కోసం అవి నమ్మదగిన సంఖ్యలు. అయితే అవి మీ codebase కు forecast కావు. ఇప్పటికే minimal గా ఉన్న code పై saving near zero కు తగ్గుతుందని project కూడా చెబుతుంది.
ప్రయోజనం పొందడానికి ఏదైనా install చేయాలా?
లేదు. Ladder అనేది text మాత్రమే. మీ agent ఇప్పటికే చదివే instruction file లో equivalent block ను paste చేస్తే ఎక్కువ ప్రయోజనం లభిస్తుంది. Plugin ద్వారా maintained wording, intensity levels, review commands మరియు update path లభిస్తాయి. Install అవసరమేనా అనే ప్రశ్నకు copied block ను ముందుగా ప్రయత్నించడం rung 1 సమాధానం.
పర్యవేక్షణ లేకుండా రాత్రంతా నడిచే agent ఎక్కువగా నిర్మించకుండా ఎలా ఆపాలి?
ఆ rule ను chat message లో కాకుండా always-on instruction file లో ఉంచండి. అప్పుడు అది దీర్ఘమైన run లో turn 3 వద్ద మాత్రమే కాకుండా turn 200 వద్ద కూడా వర్తిస్తుంది. తరువాత నష్టాన్ని విడిగా పరిమితం చేయండి. మీ ఏకైక copy బదులుగా, agent కు మార్చడానికి అనుమతించబడిన checkout ఇవ్వండి. ఏదైనా merge చేయడానికి ముందు human diff review తప్పనిసరి చేయండి. Minimal diff rule వల్ల మీరు చదవాల్సిన మార్పుల పరిమాణం తగ్గుతుంది. ఏది merge అవ్వాలో అది నిర్ణయించదు. నిర్ణయించకూడదు కూడా.